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操作符,使用方法類似[1][2]。Tcl的string map命令更加通用,因為它將字符串映射到字符串,而tr將字符映射到字符[3]。
參見
[編輯]參考
[編輯]- ^ tr (String) - APIdock. http://apidock.com. APIdock. [12 August 2015]. (原始內容存檔於2008-09-26). 外部連結存在於
|website=
(幫助) - ^ tr - perldoc.perl.org. http://perldoc.perl.org. perldoc.perl.org. [12 August 2015]. (原始內容存檔於2018-04-13). 外部連結存在於
|website=
(幫助) - ^ Tcl Built-In Commands - string manual page. https://www.tcl.tk. [12 August 2015]. (原始內容存檔於2018-04-15). 外部連結存在於
|website=
(幫助)
外部連結
[編輯]- 單一UNIX®規範第7期,由國際開放標準組織發布 – 命令與工具(Commands & Utilities)參考,
- tr(1)(頁面存檔備份,存於網際網路檔案館) - Unix 8th Edition手冊頁。
- FreeBSD通用命令(General Commands)手冊頁 –
- Solaris 10用戶命令(User Commands)參考手冊頁 –
- Linux程序員手冊頁 – 用戶命令(User Commands) –
- examplenow.com上的使用示例
|