tr命令“字元”處理

pentium發表於2009-08-26

tr是Unix系統非常實用的工具,其實用tr做到的事情,幾乎都可用sed做到,你可以把tr當作是實現sed許多基本功能的sed“簡體”。我認為tr是簡單的“字元”處理工具,而sed是功能非常強大的“字串”處理工具。

【注意】tr是單個字元處理工具,而不是字串處理工具!

我自己用過比較實用的例子如下:

1、將檔案file中出現的"abc"替換為"xyz"

# cat file | tr "abc" "xyz" > new_file

【注意】這裡,凡是在file中出現的"a"字母,都替換成"x"字母,"b"字母替換為"y"字母,"c"字母替換為"z"字母。而不是將字串"abc"替換為字串"xyz"。
轉自:

[@more@]2、使用tr命令“統一”字母大小寫
(小寫 --&gt 大寫)
# cat file | tr [a-z] [A-Z] > new_file
(大寫 --&gt 小寫)
# cat file | tr [A-Z] [a-z] > new_file

3、把檔案中的數字0-9替換為a-j

# cat file | tr [0-9] [a-j] > new_file

4、刪除檔案file中出現的"Snail"字元

# cat file | tr -d "Snail" > new_file

【注意】這裡,凡是在file檔案中出現的'S','n','a','i','l'字元都會被刪除!而不是緊緊刪除出現的"Snail”字串。

5、刪除檔案file中出現的換行'n'、製表't'字元

# cat file | tr -d "nt" > new_file

不可見字元都得用跳脫字元來表示的,這個都是統一的。

6、刪除“連續著的”重複字母,只保留第一個

# 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後面是兩個引數"r"和"n",用後者替換前者

9、用空格符40替換製表符11

# cat file | tr -s "11" "40" > new_file

10、把路徑變數中的冒號":",替換成換行符"n"

# echo $PATH | tr -s ":" "n"

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14377/viewspace-1026391/,如需轉載,請註明出處,否則將追究法律責任。

相關文章