Shell之字符串大小写转换

15 篇文章 0 订阅

方案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特性

  • 在读取变量时使用^^字符能够将输出字符转换成全大写,使用,,字符能够将输出字符转换成全小写
# 读取变量输出全大写
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~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值