首頁 > 文字處理與搜尋 > tr

tr: 字元轉換與刪除篩選器

tr 指令是用於轉換或刪除從標準輸入 (stdin) 接收到的文字中字元的篩選器指令。它主要與管道符號 (|) 結合使用,在處理其他指令的輸出結果時非常有用。

概述

tr (translate) 顧名思義,扮演著「翻譯」或「替換」字元的角色。例如,它專門用於簡單的字元級轉換操作,如將小寫字母轉換為大寫字母、將特定字元替換為其他字元、或將換行符轉換為空格等。與 `sed` 或 `awk` 支援行級的複雜模式匹配不同,`tr` 在字元級處理上非常快速且高效。

主要特點

tr 指令的主要特點如下:

  • 以字元為單位轉換或刪除文字。
  • 僅透過標準輸入 (stdin) 接收資料。
  • 不使用正規表達式 (regular expression)。
  • 廣泛與管道符號 (`|`) 結合使用,以處理其他指令的輸出結果。

tr 的基本語法

tr 指令基本上接收兩個字串 (set) 作為參數。

  • `tr 'set1' 'set2'`: 將 `set1` 中的字元以 1:1 對應方式轉換為 `set2` 中的字元。
  • `tr -d 'set1'`: 刪除 `set1` 中的所有字元。

主要選項

我們根據用途將常用的 tr 指令選項進行了分組。

1) 功能選項

2) 特殊字元與集合

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`tr` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用範例

透過 tr 指令的各種使用範例來熟悉其功能。

將小寫字母轉換為大寫字母

echo 'hello world' | tr '[:lower:]' '[:upper:]'

將從標準輸入接收到的小寫字母轉換為大寫字母並輸出。

刪除特定字元

echo 'hello   world' | tr -d ' '

從文字中刪除所有空格 (` `)。

將換行符轉換為空格

cat file.txt | tr '\n' ' '

將檔案內容中的換行符 (`\n`) 轉換為空格 (` `) 並單行輸出。

壓縮重複空格

echo 'hello     world' | tr -s ' '

將連續重複的空格壓縮為單一空格。`-s` 選項執行壓縮重複字串的功能。

將大寫字母轉換為小寫字母

echo 'HELLO WORLD' | tr 'A-Z' 'a-z'

將從標準輸入接收到的大寫字母轉換為小寫字母並輸出。

提示與注意事項

整理了使用 tr 指令時需要注意的事項。

提示

  • tr 不直接接收檔名作為參數。您必須透過 `cat` 或 `echo` 等指令將文字傳遞給標準輸入。
  • 在將字串作為參數傳遞時,建議使用單引號 (`'`) 以防止 shell 解釋特殊字元。
  • 與 `sed` 或 `awk` 相比,`tr` 的功能雖然簡單,但其優點在於字元級轉換操作中速度要快得多。

相關命令

功能上相似或經常一起使用的命令。


相同類別命令