Shell之字符串⼤⼩写转换
⽅案1:使⽤tr命令
Linux中的tr命令可以⽤于转换或删除⽂本中的指定字符。tr命令默认从标准输⼊中读取数据,经过字符串转义之后,将结果输出到标准输出。
# 使⽤tr命令将字符串中⼩写字符转换成⼤写
echo"TomAndersen"|tr a-z A-Z
# TOMANDERSEN
# 同理⼤写转⼩写
echo"TomAndersen"|tr A-Z a-z
# tomandersen
# 使⽤tr命令转换字符串中全部指定字符
echo"Hello Hello"|tr Ho hO
# hellO hellO
# 使⽤tr命令删除⽂本中全部指定字符
echo"Hello Hello"|tr -d H
# ello ello
⽅案2:使⽤awk命令
awk⼯具是⼀种强⼤的⽂本分析⼯具,主要功能是将每⾏⽂本按照特定分隔符分成多个字段进⾏处理,默认每⾏使⽤空格和制表符分割,使⽤⾃带的tolower函数能够将指定的字段全部字符转换成⼩写,使⽤toupper函数能够将全部字符转换成⼤写。
# 使⽤awk命令tolower函数将字符串转换成⼩写
echo"Tom Andersen"|awk'{print tolower($0)}'
# tom andersen
# 使⽤awk命令toupper函数将字符串转换成⼤写
echo"Tom Andersen"|awk'{print toupper($0)}'
# TOM ANDERSEN
⽅案3:利⽤Bash特性
在读取变量时使⽤^^字符能够将输出字符转换成全⼤写,使⽤,,字符能够将输出字符转换成全⼩写
linux命令及shell编写# 读取变量输出全⼤写
var1='TomAndersen'
echo${var1^^}
# TOMANDERSEN
# 读取变量输出全⼩写
var2='TomAndersen'
echo${var2,,}
# tomandersen
⽅案4:使⽤typeset/declare命令
使⽤typeset或者declare命令设置变量的属性,两个命令使⽤⽅式完全相同。使⽤此命令时需慎重,当使⽤typeset/declare命令改变变量的属性时,这种改变是长期有效的,且如果将变量设置为只读命令,那么⼀般情况下将⽆法修改此变量的只读属性(可以通过gdb⼯具重置变量),只读变量⽣命周期⼀般与当前Shell线程相同
# 使⽤typeset/declare声明变量的属性,将其设置为默认⼤写typeset -u a
a="abc"
echo$a
# ABC
# 使⽤typeset/declare声明变量的属性,将其设置为默认⼩写typeset -l a
a="ABC"
echo$a
# abc
End~

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。