您好,登錄后才能下訂單哦!
小編給大家分享一下Linux系統tr命令怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
tr [-cdst][--help][--version][第一字符集][第二字符集] tr [OPTION]…SET1[SET2]
-c, –complement:反選設定字符。也就是符合 SET1 的部份不做處理,不符合的剩余部份才進行轉換
-d, –delete:刪除指令字符
-s, –squeeze-repeats:縮減連續重復的字符成指定的單個字符
-t, –truncate-set1:削減 SET1 指定范圍,使之與 SET2 設定長度相等
–help:顯示程序用法信息
–version:顯示程序本身的版本信息
字符集合的范圍:
\NNN 八進制值的字符 NNN (1 to 3 為八進制值的字符)
\ 反斜杠
\a Ctrl-G 鈴聲
\b Ctrl-H 退格符
\f Ctrl-L 走行換頁
\n Ctrl-J 新行
\r Ctrl-M 回車
\t Ctrl-I tab鍵
\v Ctrl-X 水平制表符
CHAR1-CHAR2 :字符范圍從 CHAR1 到 CHAR2 的指定,范圍的指定以 ASCII 碼的次序為基礎,只能由小到大,不能由大到小。
[CHAR*] :這是 SET2 專用的設定,功能是重復指定的字符到與 SET1 相同長度為止
[CHAR*REPEAT] :這也是 SET2 專用的設定,功能是重復指定的字符到設定的 REPEAT 次數為止(REPEAT 的數字采 8 進位制計算,以 0 為開始)
[:alnum:] :所有字母字符與數字
[:alpha:] :所有字母字符
[:blank:] :所有水平空格
[:cntrl:] :所有控制字符
[:digit:] :所有數字
[:graph:] :所有可打印的字符(不包含空格符)
[:lower:] :所有小寫字母
[:print:] :所有可打印的字符(包含空格符)
[:punct:] :所有標點字符
[:space:] :所有水平與垂直空格符
[:upper:] :所有大寫字母
[:xdigit:] :所有 16 進位制的數字
[=CHAR=] :所有符合指定的字符(等號里的 CHAR,代表你可自訂的字符)
將輸入字符由大寫轉換為小寫:
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 world 456" | tr -d '0-9' hello world
將制表符轉換為空格:
cat text | tr '\t' ' '
字符集補集,從輸入文本中將不在補集中的所有字符刪除:
echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n' 1 2 3 4
此例中,補集中包含了數字0~9、空格和換行符\n,所以沒有被刪除,其他字符全部被刪除了。
用tr壓縮字符,可以壓縮輸入中重復的字符:
echo "thissss is a text linnnnnnne." | tr -s ' sn' this is a text line.
巧妙使用tr做數字相加操作:
echo 1 2 3 4 5 6 7 8 9 | xargs -n1 | echo $[ $(tr '\n' '+') 0 ]
刪除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命令怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。