Latest web development tutorials

Linux tr命令

Linux 命令大全 Linux命令大全

Linux tr 命令用於轉換或刪除文件中的字符。

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,代表你可自訂的字符)

實例

將文件testfile中的小寫字母全部轉換成大寫字母,此時,可使用如下命令:

cat testfile |tr a-z A-Z 

testfile文件中的內容如下:

$ cat testfile         #testfile原来的内容  
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 命令大小寫轉換後,得到如下輸出結果:

$ cat testfile | tr a-z A-Z #转换后的输出  
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. 

大小寫轉換,也可以通過[:lower][:upper]參數來實現。 例如使用如下命令:

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

輸出結果如下:

$ cat testfile | tr [:lower:] [:upper:] #转换后的输出  
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. 

Linux 命令大全 Linux命令大全