-d, –delete:刪除指令字符
-s, –squeeze-repeats:縮減連續(xù)重復(fù)的字符成指定的單個(gè)字符
-t, –truncate-set1:削減 SET1 指定范圍,使之與 SET2 設(shè)定長(zhǎng)度相等
–help:顯示程序用法信息
–version:顯示程序本身的版本信息

字符集合的范圍:

\NNN 八進(jìn)制值的字符 NNN (1 to 3 為八進(jìn)制值的字符)
\\ 反斜杠
\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 碼的次序?yàn)榛A(chǔ),只能由小到大,不能由大到小。
[CHAR*] :這是 SET2 專用的設(shè)定,功能是重復(fù)指定的字符到與 SET1 相同長(zhǎng)度為止
[CHAR*REPEAT] :這也是 SET2 專用的設(shè)定,功能是重復(fù)指定的字符到設(shè)定的 REPEAT 次數(shù)為止(REPEAT 的數(shù)字采 8 進(jìn)位制計(jì)算,以 0 為開始)
[:alnum:] :所有字母字符與數(shù)字
[:alpha:] :所有字母字符
[:blank:] :所有水平空格
[:cntrl:] :所有控制字符
[:digit:] :所有數(shù)字
[:graph:] :所有可打印的字符(不包含空格符)
[:lower:] :所有小寫字母
[:print:] :所有可打印的字符(包含空格符)
[:punct:] :所有標(biāo)點(diǎn)字符
[:space:] :所有水平與垂直空格符
[:upper:] :所有大寫字母
[:xdigit:] :所有 16 進(jìn)位制的數(shù)字
[=CHAR=] :所有符合指定的字符(等號(hào)里的 CHAR,代表你可自訂的字符)

實(shí)例

將文件testfile中的小寫字母全部轉(zhuǎn)換成大寫字母,此時(shí),可使用如下命令:

cat testfile |tr a-z A-Z

testfile文件中的內(nèi)容如下:

$ cat testfile         #testfile原來的內(nèi)容  
Linux networks are becoming more and more common, 
but scurity is often an overlooked  
issue. Unfortunately, in today’s environment all networks 
are potential hacker targets,  
fro0m tp-secret military research networks to small home LANs.  
Linux Network Securty focuses on securing Linux in a 
networked environment, where the  
security of the entire network needs to be considered
rather than just isolated machines.  
It uses a mix of theory and practicl techniques to 
teach administrators how to install and  
use security applications, as well as how the 
applcations work and why they are necesary.

使用 tr 命令大小寫轉(zhuǎn)換后,得到如下輸出結(jié)果:

$ cat testfile | tr a-z A-Z #轉(zhuǎn)換后的輸出  
LINUX NETWORKS ARE BECOMING MORE AND MORE COMMON, BUT SCURITY IS OFTEN AN OVERLOOKED  
ISSUE. UNFORTUNATELY, IN TODAY’S ENVIRONMENT ALL NETWORKS ARE POTENTIAL HACKER TARGETS,  
FROM TP-SECRET MILITARY RESEARCH NETWORKS TO SMALL HOME LANS.  
LINUX NETWORK SECURTY FOCUSES ON SECURING LINUX IN A NETWORKED ENVIRONMENT, WHERE THE  
SECURITY OF THE ENTIRE NETWORK NEEDS TO BE CONSIDERED RATHER THAN JUST ISOLATED MACHINES.  
IT USES A MIX OF THEORY AND PRACTICL TECHNIQUES TO TEACH ADMINISTRATORS HOW TO INSTALL AND  
USE SECURITY APPLICATIONS, AS WELL AS HOW THE APPLCATIONS WORK AND WHY THEY ARE NECESARY.

大小寫轉(zhuǎn)換,也可以通過[:lower][:upper]參數(shù)來實(shí)現(xiàn)。例如使用如下命令:

cat testfile |tr [:lower:] [:upper:]

輸出結(jié)果如下:

$ cat testfile | tr [:lower:] [:upper:] #轉(zhuǎn)換后的輸出  
LINUX NETWORKS ARE BECOMING MORE AND MORE COMMON, BUT SCURITY IS OFTEN AN OVERLOOKED  
ISSUE. UNFORTUNATELY, IN TODAY’S ENVIRONMENT ALL NETWORKS ARE POTENTIAL HACKER TARGETS,  
FROM TP-SECRET MILITARY RESEARCH NETWORKS TO SMALL HOME LANS.  
LINUX NETWORK SECURTY FOCUSES ON SECURING LINUX IN A NETWORKED ENVIRONMENT, WHERE THE  
SECURITY OF THE ENTIRE NETWORK NEEDS TO BE CONSIDERED RATHER THAN JUST ISOLATED MACHINES.  
IT USES A MIX OF THEORY AND PRACTICL TECHNIQUES TO TEACH ADMINISTRATORS HOW TO INSTALL AND  
USE SECURITY APPLICATIONS, AS WELL AS HOW THE APPLCATIONS WORK AND WHY THEY ARE NECESARY.

刪除Windows文件“造成”的’^M’字符

cat  $file_name  |  tr -d "\r"

刪除連續(xù)的字符

echo "hhhhhh" | tr -s [:alnum:]
贊(0)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-62778877-8306;郵箱:fanjiao@west.cn。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明出處:西部數(shù)碼知識(shí)庫 » linux命令之tr命令用法總結(jié)

登錄

找回密碼

注冊(cè)