Text-Processing

tr(翻譯)到 sed 和 awk 之間的主要區別

  • January 9, 2019

AFAIC 兩者sed都是awk通用文本處理實用程序,使用者可以使用它們獲得非常相似的結果,但語法略有不同:

使用這兩者,使用者可以添加、替換/翻譯和刪除文件中的內容。

這兩個通用文本處理實用程序和tr文本處理實用程序之間的主要區別是什麼?

我假設tr’s 的功能包含在兩者中sedawk因此它只是縮小到在另一個字元串中替換一個字元串的特定上下文,但我不確定我在這裡是否準確或其轉換為另一個字元串。

是的,與 and 相比,是tr一個“簡單”的工具,並且兩者都可以輕鬆模仿它的大部分基本行為,但兩者都沒有或沒有“內置”,因為它們中有一些單一的東西可以完全完成所有的事情確實如此。awk``sed``awk``sed``sed``awk``tr``tr

tr適用於字元,而不是字元串,並將字元從一組轉換為另一組中的字元(如tr 'A-Z' 'a-z'小寫輸入)。它的名字是“翻譯”或“音譯”的簡稱。

它確實有一些不錯的功能,比如能夠刪除多個相同的連續字元,這對於使用單個sed表達式實現可能有點繁瑣。

例如,

tr -s '\n'

會將輸入中的所有連續換行符壓縮到單個換行符中。

粗略地描述這三種工具:

  • tr適用於字元(更改或刪除它們)。
  • sed適用於行(修改單詞或行的其他部分,或者插入或刪除行)。
  • awk處理帶有欄位的記錄(預設情況下,一行中有空格分隔的欄位,但這可以通過設置FS和來更改RS)。

引用自:https://unix.stackexchange.com/questions/427940