闡述Linux操作系統(tǒng)中的tr命令
Linux操作系統(tǒng)受到了多方的關(guān)注,Linux操作系統(tǒng)火熱已經(jīng)趕上了微軟,于是很多人學(xué)習(xí)Linux操作系統(tǒng),tr是Linux操作系統(tǒng)非常實(shí)用的工具,其實(shí)用tr做到的事情,幾乎都可用sed做到,你可以把tr當(dāng)作是實(shí)現(xiàn)sed許多基本功能的sed“簡(jiǎn)體”。認(rèn)為tr是簡(jiǎn)單的“字符”處理工具,而sed是功能非常強(qiáng)大的“字符串”處理工具。
【注意】tr是單個(gè)字符處理工具,而不是字符串處理工具!
我自己用過(guò)比較實(shí)用的例子如下:
1、將文件file中出現(xiàn)的"abc"替換為"xyz"
# cat file | tr "abc" "xyz" > new_file
【注意】這里,凡是在file中出現(xiàn)的"a"字母,都替換成"x"字母,"b"字母替換為"y"字母,"c"字母替換為"z"字母。而不是將字符串"abc"替換為字符串"xyz"。
2、使用tr命令“統(tǒng)一”字母大小寫(xiě)
(小寫(xiě) --> 大寫(xiě))
# cat file | tr [a-z] [A-Z] > new_file
(大寫(xiě) --> 小寫(xiě))
# cat file | tr [A-Z] [a-z] > new_file
3、把文件中的數(shù)字0-9替換為a-j
# cat file | tr [0-9] [a-j] > new_file
4、刪除文件file中出現(xiàn)的"Snail"字符
# cat file | tr -d "Snail" > new_file
【注意】這里,凡是在file文件中出現(xiàn)的'S','n','a','i','l'字符都會(huì)被刪除!而不是緊緊刪除出現(xiàn)的"Snail”字符串。
5、刪除文件file中出現(xiàn)的換行'\n'、制表'\t'字符
# cat file | tr -d "\n\t" > new_file
不可見(jiàn)字符都得用轉(zhuǎn)義字符來(lái)表示的,這個(gè)都是統(tǒng)一的。
6、刪除“連續(xù)著的”重復(fù)字母,只保留***個(gè)
# cat file | tr -s [a-zA-Z] > new_file
7、刪除空行
# cat file | tr -s "\n" > new_file
8、刪除Windows文件“造成”的'^M'字符
# cat file | tr -d "\r" > new_file
或者
# cat file | tr -s "\r" "\n" > new_file
【注意】這里-s后面是兩個(gè)參數(shù)"\r"和"\n",用后者替換前者
9、用空格符\040替換制表符\011
# cat file | tr -s "\011" "\040" > new_file
10、把路徑變量中的冒號(hào)":",替換成換行符"\n"
# echo $PATH | tr -s ":" "\n"
這樣看到的路徑變量是不是更清晰,通過(guò)本文你就了解Linux操作系中的tr命令。
【編輯推薦】