Shell中的tr命令

Shell中的tr命令

tr (translate的简写)

这里用到的意思是转化,转变,转换

-c   #-C,-complement 用集合1中的字符串替换,要求字符集为ASCII

-d   #-delete 删除集合1中的字符而不是转换

-s   #删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串

-t    #先删除第一子符集较第二字符集多出的字符

[root@localhost tr]# echo "HI_WESTOS" | tr "A-Z" "a-z"

hi_westos

[root@localhost tr]# echo "012345" | tr "0-9" "9876543210"

987654

[root@localhost tr]# echo "012345" | tr "9876543210" "0-9"

987654

[root@localhost tr]# echo "987654" | tr "9876543210" "0-9"

012345

[root@localhost tr]# echo "hi,this is huige" | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZab^C

[root@localhost tr]# echo 'z-z'

z-z

[root@localhost tr]# echo 'a-z'

a-z

[root@localhost tr]# echo "a-z"

a-z

[root@localhost tr]# echo "ABCDEFGHIJKLMNOPQRSTUVWXYZ" | tr "A-Z" "a-z"

abcdefghijklmnopqrstuvwxyz

[root@localhost tr]# echo "hi,this is huige" | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' 'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm'

uv,guvf vf uhvtr

[root@localhost tr]# echo "uv,guvf vf uhvtr" | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' 'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm'

hi,this is huige

 

 

删除此集合中的字符

[root@localhost tr]# echo "hello 123 world 456" | tr -d '0-9'

hello  world

删除不在此集合中的字符

[root@localhost tr]# echo "hello 123 world 456" | tr -d -c '0-9 \n'

 123  456

将压缩为空格

# echo "1  33435    454 435      434343535  " | tr -s '

 '

1 33435 454 435 434343535

# echo "1  33435    454 435      434343535  " | tr -s '   '

1 33435 454 435 434343535


 

[:digit:]    所有数字

[:lower:]  所有小写字符

[:upper:]  所有大写字符

[:graph:]  所有可打印字符,不包括空格


[:print:]   所有可打印字符,包括空格

[:punct:]  所有的标点字符

[:space:]  所有横向或者纵向的空白

 

[root@localhost tr]# echo westos | tr '[:lower:]' '[:upper:]'

WESTOS

 

 

发布了150 篇原创文章 · 获赞 2 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43309149/article/details/104345121