Text-Processing
tr(翻譯)到 sed 和 awk 之間的主要區別
AFAIC 兩者
sed
都是awk
通用文本處理實用程序,使用者可以使用它們獲得非常相似的結果,但語法略有不同:使用這兩者,使用者可以添加、替換/翻譯和刪除文件中的內容。
這兩個通用文本處理實用程序和
tr
文本處理實用程序之間的主要區別是什麼?我假設
tr
’s 的功能包含在兩者中sed
,awk
因此它只是縮小到在另一個字元串中替換一個字元串的特定上下文,但我不確定我在這裡是否準確或將其轉換為另一個字元串。
是的,與 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
)。