日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
通過tr命令處理文本

tr的英文全稱是“ transform ”,即轉(zhuǎn)換的意思。該命令的作用是一種可將字符進(jìn)行替換、壓縮、刪除,他可以將一組字符轉(zhuǎn)換成另一組字符。tr他只能從標(biāo)準(zhǔn)輸入中讀取數(shù)據(jù),因此,tr要么將輸入文件重定向到標(biāo)準(zhǔn)輸入,要么從管道讀入數(shù)據(jù)。

命令格式

tr [option] ["string1"] ["string2"] 

常用的選項(xiàng)有:

默認(rèn)選項(xiàng)。就是沒有任何選項(xiàng)的時(shí)候,tr默認(rèn)為替換操作,就是將string1在文件中出現(xiàn)的字符替換為string2中的字符,這里要注意的是替換關(guān)系。 -c選項(xiàng),用string1中字符的補(bǔ)集替換string1,這里的字符集為ASCII。 -d選項(xiàng),刪除文件中所有在string1中出現(xiàn)的字符。 -s選項(xiàng),刪除文件中重復(fù)并且在string1中出現(xiàn)的字符,只保留一個(gè)。 -c選項(xiàng)在使用時(shí),只是將string1替換為現(xiàn)在的補(bǔ)集,如在使用

inuxidc@Ubuntu:~/linuxidc.com$ echo "hello world,linuxidc.com,2019" | tr -c "0-9" "*"
*************************2019*

tr文本處理命令的使用方法tr文本處理命令的使用方法

linuxidc@ubuntu:~/linuxidc.com$ echo "hello world,linuxidc.com,2019" | tr "0-9" "*"
hello world,linuxidc.com,****

可以看出,我們使用0-9,添加-c選項(xiàng)后,會把0-9替換為其補(bǔ)集,這時(shí)補(bǔ)集自然不包含0-9,而包含很多其它的字符,接下來就把所有的其它字符都替換成*號,但不包含數(shù)字。

字符串的取值范圍

指定string或string2的內(nèi)容時(shí),只能使用單字符或字符串范圍或列表。 [a-z] a-z內(nèi)的字符組成的字符串。 [A-Z] A-Z內(nèi)的字符組成的字符串。 [0-9] 數(shù)字串。 \octal 一個(gè)三位的八進(jìn)制數(shù),對應(yīng)有效的ASCII字符。 [On] 表示字符O重復(fù)出現(xiàn)指定次數(shù)n。因此[O2]匹配OO的字符串。

控制字符的不同表達(dá)方式

速記符 含義 八進(jìn)制方式 \a Ctrl-G 鈴聲\007 \b Ctrl-H 退格符\010 \f Ctrl-L 走行換頁\014 \n Ctrl-J 新行\(zhòng)012 \r Ctrl-M 回車\015 \t Ctrl-I tab鍵\011

\v Ctrl-X \030 注意這些控制字符,如果想在linux下輸入,如我們可能需要輸入^M這種字符,只需ctrl+V+M同時(shí)按下即可。

字符替換

linuxidc@ubuntu:~/linuxidc.com$ echo "hello world,www.linuxidc.com" | tr "a-z" "A-Z"
HELLO WORLD,WWW.LINUXIDC.COM
linuxidc@ubuntu:~/linuxidc.com$ echo "hello world,www.linuxidc.com" | tr "a-l" "A-Z"
HELLo worLD,www.LInuxIDC.Com
linuxidc@ubuntu:~/linuxidc.com$ echo "hello world,www.linuxidc.com" | tr "a-z" "A-H"
HEHHH HHHHD,HHH.HHHHHHDC.CHH

第一行輸出就是將小寫換成大寫。 第二行輸出將小寫中的a-l分別換成A-L,而將小寫中的l以后的字符都不替換。 第三行輸出將小寫中的a-h換成A-H,而h以后的字符都換成H,因?yàn)楹笳叩奶鎿Q空間沒有前面的字符空間大,所以就重復(fù)后面的H,相當(dāng)于后面的字符是A-HHH……HHHHH。

如果我們想要進(jìn)行大小寫轉(zhuǎn)換,可以按下面的輸入:

tr "a-z" "A-Z" 

去除重復(fù)字符

這個(gè)時(shí)候,所用的選項(xiàng)是-s選項(xiàng),如:

linuxidc@ubuntu:~/linuxidc.com$ echo "root,hello world,linuxidc.com" | tr -s "ao"  
rot,hello world,linuxidc.com
linuxidc@ubuntu:~/linuxidc.com$ echo "root,hello world,linuxidc.com" | tr -s "lo"  
rot,helo world,linuxidc.com
linuxidc@ubuntu:~/linuxidc.com$ echo "root,hello world,linuxidc.com" | tr -s "a-z"
rot,helo world,linuxidc.com
linuxidc@ubuntu:~/linuxidc.com$ echo "root,hello world,linuxidc.com" | tr -s "0-9"
root,hello world,linuxidc.com

第一行表示將輸入字符串中的包含在”ao”字符集中的重復(fù)字符去掉,只留一個(gè)。因?yàn)椤県ello world,linuxidc.com”,只有o滿足條件,所以將linuxidc.com變成rot,把中間的兩個(gè)o變成一個(gè)。 第二行將hello和linuxidc.com兩個(gè)字符都壓縮了。 第三行表示將a-z中的除復(fù)字符都去掉。 第三行表示將字符串中的重復(fù)的且重復(fù)字符在0-9字符集中的字符去掉,這里沒有。

如果我們想要去掉空行,可以這樣操作:

tr -s "\n" "\012" 
  

就是將重復(fù)的換行符去掉,只留一個(gè)。

刪除字符

-d選項(xiàng)和-s選項(xiàng)類似,只不過-d選項(xiàng)會刪除所有出現(xiàn)的字符。

linuxidc@ubuntu:~/linuxidc.com$ echo "root,hello world,linuxidc.com" | tr -d "a-h"  
root,llo worl,linuxi.om
linuxidc@ubuntu:~/linuxidc.com$ echo "root,hello world,linuxidc.com,2019" | tr -d "a-z"  
, ,.,2019
linuxidc@ubuntu:~/linuxidc.com$ echo "root,hello world,linuxidc.com,2019" | tr -d "0-9"  
root,hello world,linuxidc.com,


分享題目:通過tr命令處理文本
當(dāng)前鏈接:http://www.dlmjj.cn/article/dhigiog.html