tr(翻訳)とsedとawkの主な違い

tr(翻訳)とsedとawkの主な違い

AFAICsedawkAFAICはどちらも、ユーザーが非常によく似た結果を得るために使用できる汎用テキスト処理ユーティリティですが、構文は若干異なります。

両方を使用すると、ユーザーはファイルの内容を追加、交換/翻訳、および削除できます。

これら2つのプレーンテキスト処理ユーティリティとtrテキスト処理ユーティリティの主な違いは何ですか?

私が想定している機能は両方trに含まれているので、特定のコンテキストで範囲が狭くなりましたsedawk変えるある文字列は別の文字列にリンクされていますが、ここで私が正しいかどうかはわかりません。翻訳するそれは別のものを提供します。

ベストアンサー1

はい、tr銀と比較して「簡単な」ツールで、簡単に模倣できます。awksedawksed最大デフォルトの動作ですが、単一の項目があるため、「組み込み」ではなく、組み込まれていませんsedawktr正確にすべきことをすべて実行してくださいtr

tr文字列以外の文字で作業し、ある文字セットを別の文字セットに変換します(tr 'A-Z' 'a-z'小文字の入力など)。その名前は「翻訳する」または「翻訳する」の略語です。

複数の同じ連続文字を削除する機能など、いくつかの素晴らしい機能がありますが、単一のsed式で実装するのはやや面倒です。

例えば、

tr -s '\n'

入力のすべての連続改行文字を単一の改行文字に圧縮します。

また、ユーティリティtrは行の長さに関係なく、sed操作を実行する前にメモリ内の行全体を読み取ろうとします(つまり、awk処理する前にレコード全体を読み取ろうとします)。これはいくつかの劣化の場合に当てはまります。問題 すべてのデータは、数ギガバイトの長さの「ワイヤ」にあります。

これら3つのツールを概説すると、次のようになります。

  • tr役割に適用されます(変更または削除)。
  • sed行に作用します(単語や行の他の部分を変更するか、行を挿入または削除します)。
  • awkフィールド(デフォルトでは、1行にスペースで区切られたフィールドですが、FS設定に変更できますRS)があるレコードに適用されます。

おすすめ記事