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...