跳至內容

tr (Unix)

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

tr是一個類Unix作業系統中的命令。它是translatetransliterate的縮寫,表示替換或刪除輸入數據集中特定字元。

該程式從其標準輸入中讀取一個位元組流,並將結果寫入標準輸出參數需要兩組字元(通常長度相同),並用第二組中的相應元素替換第一組中的字元。例如,

tr 'abcd' 'jkmn'

a對映到jbkcmdn

字元集可以使用字元範圍縮寫。前面的例子可以寫成:

tr 'a-d' 'jkmn'

在相容POSIX標準的tr版本中,字元範圍集合取決於語言環境排序順序,所以在指令碼中避免使用字元範圍可能更安全,因為指令碼可能會在與編寫時不同的語言環境下執行。範圍通常可以用POSIX字元集替換,例如[:alpha:]

s標誌使tr將其輸出中相同相鄰字元的序列壓縮為單個字元。例如,

tr -s '\n'

用一個換行符替換連續的一個或多個換行符。

d標誌使tr從其輸入中刪除指定的一組字元。在這種情況下,只使用單個字元集參數。以下命令刪除回車字元。

tr -d '\r'

c標誌表示第一組字元的補。呼叫

tr -cd '[:alnum:]'

會刪除所有非字母或數字字元。

tr的大多數版本,包括GNU tr和經典的Unix tr,都以單位元組字元操作,不相容UnicodeHeirloom Toolchest英語Heirloom Project的實現是個例外,它提供了基本的Unicode支援。

RubyPerl也有一個內建的tr運算子,使用方法類似[1][2]Tclstring map命令更加通用,因為它將字串對映到字串,而tr將字元對映到字元[3]

參見

[編輯]

參考

[編輯]
  1. ^ tr (String) - APIdock. APIdock. [12 August 2015]. (原始內容存檔於2008-09-26). 
  2. ^ tr - perldoc.perl.org. perldoc.perl.org. [12 August 2015]. (原始內容存檔於2018-04-13). 
  3. ^ Tcl Built-In Commands - string manual page. [12 August 2015]. (原始內容存檔於2018-04-15). 

外部連結

[編輯]