基礎命令: tr
tr命令
功能:刪除和轉換字符
語法:tr [OPTION]…. SET1 [SET2]
參數:
-d : 刪除所有屬于第一字符集的字符(刪除某些特殊字符)
-s : 把連續重復的字符以單獨一個字符表示(刪除空行很有用)
舉例:
1.把小寫字母轉換為大寫字母;
cat /etc/fstab | tr “a-z” “A-Z” #a-z轉換為 A-Z
(把fstab中的小寫字母替換為大寫的)
[root@wCentos7 yuedir]# cat /etc/fstab | tr "a-z" "A-Z" # # /ETC/FSTAB # CREATED BY ANACONDA ON THU JUL 21 11:22:48 2016 # # ACCESSIBLE FILESYSTEMS, BY REFERENCE, ARE MAINTAINED UNDER '/DEV/DISK' # SEE MAN PAGES FSTAB(5), FINDFS(8), MOUNT(8) AND/OR BLKID(8) FOR MORE INFO # UUID=B63A2F0C-C9F9-465D-B2B5-3830FEDCCDD2 / XFS DEFAULTS 0 0 UUID=9DEC22F7-215E-4A47-97D1-AE09446D62D2 /BOOT XFS DEFAULTS 0 0 UUID=A138A967-21DB-41E0-9A4A-7A5EB4979481 /TESTDIR XFS DEFAULTS 0 0 UUID=BB99272D-4848-49BD-A896-E5F843037CBF SWAP SWAP DEFAULTS 0 0
2.刪除字符集中的字符
echo “1asd2cvbg3nh4ttf5yyh6ujjh7jjik8kkk9lll0” | tr -d “a-z”
(tr刪除包含在自定義字符集中的字符,保留我們需要的字符)
[root@wCentos7 yuedir]# echo “1asd2cvbg3nh4ttf5yyh6ujjh7jjik8kkk9lll0” | tr -d “a-z” 1234567890 [root@wCentos7 yuedir]#
3.替換特殊字符串
cat /etc/fstab | tr “#” “ ” | tr -d “0-9”
(把fstab文件中的 # 替換成 @ ,并且刪除所有的數字)
[root@wCentos7 yuedir]# cat /etc/fstab | tr '#' '@' | tr -d '0-9' @ @ /etc/fstab @ Created by anaconda on Thu Jul :: @ @ Accessible filesystems, by reference, are maintained under '/dev/disk' @ See man pages fstab(), findfs(), mount() and/or blkid() for more info @ UUID=bafc-cf-d-bb-fedccdd / xfs defaults UUID=decf-e-a-d-aedd /boot xfs defaults UUID=aa-db-e-aa-aeb /testdir xfs defaults UUID=bbd--bd-a-efcbf swap swap defaults
小結:tr 命令還有很多的參數,也支持golb的字符集,這個可以參看下man tr,在使用過程中需要許多莫名奇怪的問題,比如:一個 # 號無法替換才 數字或字母,無法替換成 兩個 @@或別的符號,或與關于tr的命令認識很少,以后有時間細細研究。
原創文章,作者:linux_root,如若轉載,請注明出處:http://www.www58058.com/27709