当前位置: 代码迷 >> 综合 >> shell脚本——文件里的内容与变量中内容大小写替换
  详细解决方案

shell脚本——文件里的内容与变量中内容大小写替换

热度:45   发布时间:2024-02-12 06:15:54.0

一、把文件里的内容大小写转换

sed 's/[a-z]/\u&/g' 文件名 # 转大写
sed 's/[A-Z]/\l&/g' 文件名 # 转小写

二、把变量中的内容大小写转换

1、Bash4.0之后可以使用简单的方法,在linux中输入sh就能看见bash的版本

${变量名^}:把变量中的第一个字符转换成大写

${变量名^^}:把变量中的所有字符转换成大写

sh-4.1# a='aaa'
sh-4.1# echo ${a^}
Aaa
sh-4.1# echo ${a^^}
AAA

${变量名,}:把变量中的第一个字符转换成小写

${变量名,,}:把变量中的所有字符转换成小写

sh-4.1# aa='AA'
sh-4.1# echo ${aa,}
aA
sh-4.1# echo ${aa,,}
aa

2、使用awk方法

sh-4.1# a=aa
sh-4.1# echo $(echo $a |awk '{print toupper($0)}')
AA
sh-4.1# echo $(echo $a |awk '{print tolower($0)}')
aa

3、使用tr转换大小写

sh-4.1# echo $(echo $a | tr 'a-z' 'A-Z')  #把变量a由小写换成大写
HELLO
sh-4.1# echo $(echo $a |tr "A-Z" "a-z")       #把变量a由大写换成小写
hello
sh-4.1# echo $(echo $a |tr "a-zA-Z" "A-Za-z") #把变量a由大写换成小写&小写换成大写
HeLLO

4、使用sed

sh-4.1# echo $(echo $a | sed 's/[A-Z]/\l&/g') #转换成小写
aa
sh-4.1# echo $(echo $a | sed 's/[a-z]/\u&/g') #转换成大写
AA

5、使用用typeset
typeset -u a(把a的小写转换成大写)
typeset -l  a(把a的大写转换成小写)

sh-4.1# typeset -u a
sh-4.1# a=aa
sh-4.1# echo $a
AA

 

  相关解决方案