tr[linux命令]

TR是linux命令常用命令,其全稱“Text Replacer”,該命令用於進行文本字元替換。

tr用來從標準輸入中通過替換或刪除操作進行字元轉換。 tr主要用於刪除檔案中控制字元或進行字元轉換。

特別要注意一點:tr 只能進行字元的替換、縮減和刪除,不能用來替換字元串。

最常用選項的tr命令格式為:

tr -c -d -s ["string1_to_translate_from"] ["string2_to_translate_to"] file

這裡:

-c 用字元串1中字元集的補集替換此字元集,要求字元集為ASCII。

-d 刪除字元串1中所有輸入字元。

-s 刪除所有重複出現字元序列,只保留第一個;即將重複出現字元串壓縮為一個字元串。

file是轉換檔案名稱。雖然可以使用其他格式輸入,但這種格式最常用。

字元範圍

指定字元串1或字元串2的內容時,只能使用單字元或字元串範圍或列表。

[a-z] a-z內的字元組成的字元串。

[A-Z] A-Z內的字元組成的字元串。

[0-9] 數字串。

\octal 一個三位的八進制數,對應有效的ASCII字元。

[O*n] 表示字元O重複出現指定次數n。因此[O*2]匹配OO的字元串。

tr中特定控制字元的不同表達方式

速記符含義八進制方式

\a Ctrl-G 鈴聲\007

\b Ctrl-H 退格符\010

\f Ctrl-L 走行換頁\014

\n Ctrl-J 新行\012

\r Ctrl-M 回車\015

\t Ctrl-I tab鍵\011

\v Ctrl-X \030

套用例子

(1)去除oops.txt裡面的重複的小寫字元 ( # -s會保留第一個字元)

[root@localhost ~]# cat oops.txt

ddddfffabccccc

lerrrrdddd

[root@localhost ~]# tr -s "a-z" < oops.txt > result.txt

[root@localhost ~]# cat result.txt

dfabc

lerd

(2)刪除空行(除了第一行外)

[root@localhost ~]# cat oops.txt

ddddfffabccccc

lerrrrdddd

[root@localhost ~]# tr -s "\012" < oops.txt > result.txt

[root@localhost ~]# cat result.txt

ddddfffabccccc

lerrrrdddd

(3)刪除所有行結束符

[root@localhost ~]# cat oops.txt

ddddfffabccccc

lerrrrdddd

[root@localhost ~]# tr -d "\012" <oops.txt > result.txt

[root@localhost ~]# cat result.txt

ddddfffabccccclerrrrdddd

(4)小寫到大寫

[root@localhost ~]# cat oops.txt

ddddfffabccccc

errrrdddd

[root@localhost ~]# cat oops.txt | tr "a-z" "A-Z" > result.txt

[root@localhost ~]# cat result.txt

DDDDFFFABCCCCC

ERRRRDDDD

(5)刪除指定的字元(# -d 與 -s 不同,-d會全部刪除,但-s會保留第一個)

[root@localhost ~]# cat oops.txt

ddddfffabccccc

errrrdddd

[root@localhost ~]# cat oops.txt | tr -d "bd" > result.txt

[root@localhost ~]# cat result.txt

fffaccccc

errrr

[root@localhost ~]# cat oops.txt | tr -s "bd" > result.txt

[root@localhost ~]# cat result.txt

dfffabccccc

errrrd

(6)替代指定的字元(#一對一的替代)

[root@localhost ~]# cat oops.txt

ddddfffabccccc

errrrdddd

[root@localhost ~]# cat oops.txt | tr "bd" "BD" > result.txt

[root@localhost ~]# cat result.txt

DDDDfffaBccccc

errrrDDDD

相關詞條

相關搜尋

熱門詞條

聯絡我們