首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

Bash字符串处置(与Java对照) - 27.转换大小写

2012-07-29 
Bash字符串处理(与Java对照) - 27.转换大小写Bash字符串处理(与Java对照) - 27.转换大小写In Java?String

Bash字符串处理(与Java对照) - 27.转换大小写
Bash字符串处理(与Java对照) - 27.转换大小写In Java

?String ??? toLowerCase()
????????? 使用默认语言环境的规则将此 String 中的所有字符都转换为小写。

?

?String ??? toUpperCase()
????????? 使用默认语言环境的规则将此 String 中的所有字符都转换为大写。

?

In Bash使用tr命令来转换大小写

大写 => 小写

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

?

使用sed命令来转换大小写

大写 => 小写

错误: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

?

使用awk命令来转换大小写

大写 => 小写

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]#

?

使用perl命令转换大小写

大写 => 小写

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.去除前后空白

?

?

热点排行