Linux tr命令詳解

2021-08-07 09:09:02 字數 1834 閱讀 4923

tr命令可以對來自標準輸入的字元進行替換、壓縮和刪除。它可以將一組字元變成另一組字元,經常用來編寫優美的單行命令,作用很強大。

語法

tr

(選項)

(引數)

選項
-c或——complerment:取代所有不屬於第一字符集的字元;  

-d或——delete:刪除所有屬於第一字符集的字元;

-s或--squeeze-repeats:把連續重複的字元以單獨乙個字元表示;

-t或--truncate-set1:先刪除第一字符集較第二字符集多出的字元。

引數 例項

將輸入字元由大寫轉換為小寫:

# echo 

"hello world"|tr 'a-z'

'a-z'

hello world

『a-z』 和 『a-z』都是集合,集合是可以自己制定的,例如:』abd-}』、』bb.,』、』a-de-h』、』a-c0-9』都屬於集合,集合裡可以使用』\n』、』\t』,可以可以使用其他ascii字元。

使用tr刪除字元:

# echo 

"hello 123 wrold 456"|tr -d '0-9'

hello wrold

將製表符轉換為空格:

cat text | tr '\t'

' '

字符集補集,從輸入文字中將不在補集中的所有字元刪除:

# echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n'12

34

此例中,補集中包含了數字0~9、空格和換行符\n,所以沒有被刪除,其他字元全部被刪除了。

用tr壓縮字元,可以壓縮輸入中重複的字元:

# echo "thissss is a text linnnnnnne." | tr -s ' sn'

this

is a text line.

巧妙使用tr做數字相加操作:

# echo 123

4567

89 | xargs -n1 | echo $[

$(tr '\n'

'+') 0 ]

45

刪除windows檔案「造成」的』^m』字元:

cat file | tr -s

"\r"

"\n" > new_file

或 cat file | tr -d

"\r" > new_file

tr可以使用的字元類:

[:alnum

:]:字母和數字 [:alpha

:]:字母

[:cntrl

:]:控制(非列印)字元 [:digit

:]:數字

[:graph

:]:圖形字元 [:lower

:]:小寫字母

[:print

:]:可列印字元 [:punct

:]:標點符號

[:space

:]:空白字元 [:upper

:]:大寫字母

[:xdigit

:]:十六進製制字元

使用方式:

tr

'[:lower:]'

'[:upper:]'

**:

linux tr 命令詳解

1 關於tr 通過使用 tr,您可以非常容易地實現 sed 的許多最基本功能。您可以將 tr 看作為 sed 的 極其 簡化的變體 它可以用乙個字元來替換另乙個字元,或者可以完全除去一些字元。您也可以用它來除去重複字元。這就是所有 tr 所能夠做的。tr用來從標準輸入中通過替換或刪除操作進行字元轉換...

linux tr命令詳解

通過使用 tr,您可以非常容易地實現 sed 的許多最基本功能。您可以將 tr 看作為 sed 的 極其 簡化的變體 它可以用乙個字元來替換另乙個字元,或者可以完全除去一些字元。您也可以用它來除去重複字元。這就是所有 tr 所能夠做的。tr 用來從標準輸入中通過替換或刪除操作進行字元轉換。tr主要用...

linux tr命令詳解

轉換字元。tr c cds cs c cds cs ds s a string1 string2 tr a string1 tr 命令從標準輸入刪除或替換字元,並將結果寫入標準輸出。根據由 string1 和 string2 變數指定的字串以及指定的標誌,tr 命令可執行三種操作。轉換字元 如果 s...