Linuxコマンドラインインターフェイスは、豊富なテキスト処理ツールを提供します。最も強力なツールの1つはsed
コマンドです。 sed
、テキストファイルとストリームの複雑な処理を可能にする多機能ツールであるStream Editorの略語です。
sed
、パイプ入力またはテキストファイルを操作する非対話的なテキストエディターです。ディレクティブを提供することにより、ファイルまたはストリームでテキストを変更および処理することができます。 sed
、テキストの選択、テキストの交換、元のファイルの変更、テキストへの行の追加、またはテキストから行の削除が含まれます。 Bashおよびその他のコマンドラインシェルのコマンドラインから使用できます。
sed
コマンドの構文には、3つの主要な部分が含まれています。
sed
コマンドを使用しているファイルです。ファイル名がない場合、スクリプトは標準の入力データで動作します。また、オプションを使用せずにsed
コマンドを実行することもできます。基本的な構文は次のとおりです。
sed 选项[脚本] [输入文件名]
Linuxエコシステム内のテキスト処理ツールはsed
だけではありません。別の強力なユーティリティはawk
です。どちらもテキストを扱っていますが、いくつかの重要な違いがあります。
sed
、テキストをシンプルでシンプルな言語で解析および変換するのが得意であり、シンプルで制限されているが使いやすいものになっています。awk
、ステートメント形式に表示される強力なプログラムをテキスト処理および作成するためのツールです。 sed
よりも複雑で、用途が広く、より強力ですが、より複雑です。いくつかの実用的な例でsed
どのように機能するかを掘り下げましょう。これらすべての例について、 ik.txt
という名前のファイルがあるとします。 sed
デフォルトで元のファイルを変更しないことに注意してください。すべての変更は出力に表示されますが、元のファイルは同じままです。
テキスト交換sed
で最も一般的な操作の1つは、テキスト置換です。これは、 s
コマンドを使用して行われます。たとえば、スキーマabc
の最初のインスタンスを別のスキーマdef
に置き換えるには、以下を使用します。
sed s/abc/def/ ik.txt
ここで、各ラインのabc
の最初のインスタンスはdef
に置き換えられます。パターンの3番目のインスタンスを交換する場合は、以下を使用できます。
sed s/abc/z/3 ik.txt
グローバル交換グローバル交換では、パターンのすべてのインスタンスが置き換えられます。これは、 g
交換コマンドに追加することによって行われます。すべてのabc
インスタンスをXYZ
に置き換えるには、次のことを使用します。
sed s/abc/XYZ/g ik.txt
/ng
を使用して、パターンのn番目のインスタンスとのグローバル交換を開始することもできます。たとえば、3番目のインスタンスからすべてのabc
インスタンスをXYZ
に置き換えるには、以下を使用します。
sed s/abc/XYZ/3g ik.txt
要するに、Linuxのsed
コマンドは、テキストファイルとストリームで複数の操作を実行できる強力なストリームエディターです。インタラクティブなインターフェイスは提供されませんが、提供する指示に基づいてパイプライン入力またはテキストファイルを操作します。このコマンドの構文は比較的シンプルで、3つの部分で構成されています。オプション、実行するLinuxコマンドを含むスクリプト、およびファイル名です。
以上がSEDコマンドを使用したテキスト操作のマスターの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。