?String ??? toLowerCase()
????????? 使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
?
?String ??? toUpperCase()
????????? 使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
?
大写 => 小写
echo "$STR" | tr A-Z a-z
echo "$STR" | tr 'A-Z' 'a-z'
echo "$STR" | tr "A-Z" "a-z"
echo "$STR" | tr [:upper:] [:lower:]
echo "$STR" | tr "[A-Z]" "[a-z]"
?
[root@jfht ~]# STR=Hello
[root@jfht ~]# echo "$STR" | tr [:upper:] [:lower:]
hello
[root@jfht ~]# echo "$STR" | tr "[A-Z]" "[a-z]"
hello
?
错误:echo "$STR" | tr [A-Z] [a-z]
必须加上双引号或单引号
如果没有加上引号且当前目录有单个字符的文件或目录
就会出现意想不到的结果
[root@jfht ~]# touch E
[root@jfht ~]# echo "$STR" | tr [A-Z] [a-z]
Hello
?
小写 => 大写
echo "$STR" | tr a-z A-Z
echo "$STR" | tr 'a-z' 'A-Z'
echo "$STR" | tr "a-z" "A-Z"
echo "$STR" | tr [:lower:] [:upper:]
echo "$STR" | tr "[a-z]" "[A-Z]"
?
[root@jfht ~]# STR=Hello
[root@jfht ~]# echo "$STR" | tr [:lower:] [:upper:]
HELLO
[root@jfht ~]# echo "$STR" | tr "[a-z]" "[A-Z]"
HELLO
?
大写 => 小写
错误:echo "$STR" | sed "y/[A-Z]/[a-z]/"
正确:echo "$STR" | sed y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
?
小写 => 大写
错误:echo "$STR" | sed "y/[a-z]/[A-Z]/"
正确:echo "$STR" | sed y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
?
[root@jfht ~]# STR=Hello
[root@jfht ~]# echo "$STR" | sed y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
hello
[root@jfht ~]# echo "$STR" | sed y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
??
HELLO
?
大写 => 小写
echo "$STR" | awk '{print tolower($0)}'
?
小写 => 大写
echo "$STR" | awk '{print toupper($0)}'
?
[root@jfht ctmw]# STR=Hello
[root@jfht ctmw]# echo "$STR" | awk '{print tolower($0)}'
hello
[root@jfht ctmw]# echo "$STR" | awk '{print toupper($0)}'
HELLO
[root@jfht ctmw]#
?
大写 => 小写
echo "$STR" | perl -e 'print lc <>;'
?
小写 => 大写
echo "$STR" | perl -e 'print uc <>;'
?
[root@jfht ctmw]# STR=Hello
[root@jfht ctmw]# echo "$STR" | perl -e 'print lc <>;'
hello
[root@jfht ctmw]# echo "$STR" | perl -e 'print uc <>;'
HELLO
[root@jfht ctmw]#
?
?
本文链接:http://codingstandards.iteye.com/blog/1164913 ? (转载请注明出处)
返回目录:Java程序员的Bash实用指南系列之字符串处理(目录)?
上节内容:Bash字符串处理(与Java对照) - 26.根据位置和长度截取子串
下节内容:Bash字符串处理(与Java对照) - 28.去除前后空白
?
?