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
来源:CSDN
作者:huige永生
链接:https://blog.csdn.net/qq_43309149/article/details/104345121