首页 > 系统相关 >Bash/Shell自建助手函数:ucase、lcase:借助perl一键转换字符串字母为大小或小写

Bash/Shell自建助手函数:ucase、lcase:借助perl一键转换字符串字母为大小或小写

时间:2023-01-25 13:56:21浏览次数:44  
标签:剪贴板 Shell 转换 字母 lcase perl ucase

概述

ucase => 转换字母为大写
lcase => 转换字母为小写
直接在终端中调用ucaselcase这两个函数即可,管道中有数据传入则读取管道中的数据,管道无数据传入则读取剪贴板中的文本(此处的读取剪贴板操作代码仅适配Windows系统下的Cygwin环境,其他环境未做适配,若要迁移到其他系统环境,需做额外修改)。

将函数代码作为个人终端配置文件的一部分即可在开发终端的快捷调用

#eg:
vim ~/.bash_profile
source /opt/common/bash_functions.sh

函数代码

clip1() {
	# 获取剪贴板内容并输出
	cat /dev/clipboard
	#getclip -u   #cygutils有getclip命令可以直接获取剪贴板内容,对应的还有putclip存放内容至剪贴板~
}
ucase() {
	#借助Perl转换所有字符串中的字母为大写
	if [ -t 0 ];then
		#echo "无管道输入"
		clip1|perl -lpe 's/^.*$/\U$&/'
	else
		#echo "有管道输入"
		perl -lpe 's/^.*$/\U$&/'
	fi
}

lcase() {
	#借助Perl转换所有字符串中的字母为小写
	if [ -t 0 ];then
		clip1|perl -lpe 's/^.*$/\L$&/'
	else
		perl -lpe 's/^.*$/\L$&/'
	fi
	return
}

使用方法

#1、从剪贴板获取内容并转换字母为大写
ucase 
#2、从剪贴板获取内容并转换字母为小写  
lcase   

#3、转换管道传入的内容为大写
echo -e "AbC123\ndeFgh"|ucase   
#4、转换管道传入的内容为小写 
echo -e "AbC123\ndeFgh"|lcase     

使用效果

标签:剪贴板,Shell,转换,字母,lcase,perl,ucase
From: https://www.cnblogs.com/cnhack/p/17066880.html

相关文章

  • Shell编程
    Shell是一个命令行解释器,接受应用程序或者用户的命令,然后调用操作系统的内核.sh是Linux批处理脚本文件的后缀名,是一组命令sh是bash的一个软链接也就是一个快捷方式 运......
  • shell 获取本地主机指定网络接口的ip
    源码:get_local_ips.sh#!/bin/bashget_ip_from_device_index(){index=$1sed_cmd="sed-ne'/^$((index)):/,/^$((index+1)):/p'"ipa|eval$sed_cmd......
  • shell工具和脚本
    Shell脚本shell脚本是一种更加复杂度的工具。大多数shell都有自己的一套脚本语言,包括变量、控制流和自己的语法。shell脚本与其他脚本语言不同之处在于,shell脚本针对......
  • 登录服务器的软件-WinSCP 和 Xshell
    在登录服务器的时候,可以使用Linux系统,比如虚拟机下的Centos7和子系统Ubuntu。连接方式为:[email protected](需要用户名,端口,地址)。在Windows系统下,如......
  • shell脚本
    学习地址嵌入式方向搞到什么程度,简单使用shell脚本语法输入输出计算test命令&&||中括号判断符[]==!=默认变量......
  • PowerShell 美化(oh-my-posh)
    目录PowerShell美化一、添加右键菜单1、修改默认右键菜单2、寻找安装目录3、修改注册表二、样式修改1、环境安装2、配置使用PowerShell美化一、添加右键菜单......
  • shell之变量默认值
    {var:-default_value}当var不存在,或者值为空时,返回default_valuename不存在,返回了一个默认值,但是name并没有改变,后续不可访问$set-u#打开访问不存在的对象将报错,s......
  • JMeter BeanShell 学习
    JMeterBeanShell学习Beanshell分为:JMeter有如下BeanShell组件:定时器:BeanShellTimer前置处理器:BeanShellPreProcessor采样器:BeanShellSampler后置处理器......
  • Xshell 使用自定义用户密钥登录, 类似 ssh-keygen -t rsa
    1.菜单栏工具-用户密钥-生成2.按提示生成后,点击属性,在__常规__选项卡旁边有公钥按钮。使用key登录后还需要提供用户名。......
  • Nginx日志按天自动切割的shell脚本
    简介默认情况Nginx会把所有访问日志生成到一个指定的访问日志文件access.log里,但这样一来,时间长了就会导致日志内容很多,不利于分析日志和处理,因此,有必要对Nginx按天或按......