Tr_(Unix)

tr是一個類Unix操作系統中的命令 。 它是translate或transliterate的縮寫 ， 表示替換或刪除輸入數據集中特定字符 。 該程序從其標準輸入中讀取一個字節流 ， 並將結果寫入標準輸出 。 參數需要兩組字符 （ 通常長度相同 ） ， 並用第二組中的相應元素替換第一組中的字符 。 例如 ， tr' abcd'' jkmn' 將a映射到j ， b到k ， c到m ， d到n 。 字符集可以使用字符範圍縮寫 。 前面的例子可以寫成 ： 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 ， 都以單字節字符操作 ， 不兼容Unicode 。 Heirloom Toolchest的實現是個例外 ， 它提供了基本的Unicode支持 。 Ruby和Perl也有一個內置的tr操作符 ， 使用方法類似 。 Tcl的string map'' 命令更加通用 ， 因爲它將字符串映射到字符串 ， 而tr將字符映射到字符 。