AFAICsed
とawk
AFAICはどちらも、ユーザーが非常によく似た結果を得るために使用できる汎用テキスト処理ユーティリティですが、構文は若干異なります。
両方を使用すると、ユーザーはファイルの内容を追加、交換/翻訳、および削除できます。
これら2つのプレーンテキスト処理ユーティリティとtr
テキスト処理ユーティリティの主な違いは何ですか?
私が想定している機能は両方tr
に含まれているので、特定のコンテキストで範囲が狭くなりましたsed
。awk
変えるある文字列は別の文字列にリンクされていますが、ここで私が正しいかどうかはわかりません。翻訳するそれは別のものを提供します。
ベストアンサー1
はい、tr
銀と比較して「簡単な」ツールで、簡単に模倣できます。awk
sed
awk
sed
最大デフォルトの動作ですが、単一の項目があるため、「組み込み」ではなく、組み込まれていませんsed
。awk
tr
正確にすべきことをすべて実行してくださいtr
。
tr
文字列以外の文字で作業し、ある文字セットを別の文字セットに変換します(tr 'A-Z' 'a-z'
小文字の入力など)。その名前は「翻訳する」または「翻訳する」の略語です。
複数の同じ連続文字を削除する機能など、いくつかの素晴らしい機能がありますが、単一のsed
式で実装するのはやや面倒です。
例えば、
tr -s '\n'
入力のすべての連続改行文字を単一の改行文字に圧縮します。
また、ユーティリティtr
は行の長さに関係なく、sed
操作を実行する前にメモリ内の行全体を読み取ろうとします(つまり、awk
処理する前にレコード全体を読み取ろうとします)。これはいくつかの劣化の場合に当てはまります。問題 すべてのデータは、数ギガバイトの長さの「ワイヤ」にあります。
これら3つのツールを概説すると、次のようになります。
tr
役割に適用されます(変更または削除)。sed
行に作用します(単語や行の他の部分を変更するか、行を挿入または削除します)。awk
フィールド(デフォルトでは、1行にスペースで区切られたフィールドですが、FS
設定に変更できますRS
)があるレコードに適用されます。