ホームページ > システムチュートリアル > Linux > SEDコマンドを使用したテキスト操作のマスター

SEDコマンドを使用したテキスト操作のマスター

Joseph Gordon-Levitt
リリース: 2025-03-16 09:48:16
オリジナル
1012 人が閲覧しました

SEDコマンドを使用したテキスト操作のマスター

Linuxコマンドラインインターフェイスは、豊富なテキスト処理ツールを提供します。最も強力なツールの1つはsedコマンドです。 sed 、テキストファイルとストリームの複雑な処理を可能にする多機能ツールであるStream Editorの略語です。

SEDとは何ですか?

sed 、パイプ入力またはテキストファイルを操作する非対話的なテキストエディターです。ディレクティブを提供することにより、ファイルまたはストリームでテキストを変更および処理することができます。 sed 、テキストの選択、テキストの交換、元のファイルの変更、テキストへの行の追加、またはテキストから行の削除が含まれます。 Bashおよびその他のコマンドラインシェルのコマンドラインから使用できます。

SEDコマンド構文

sedコマンドの構文には、3つの主要な部分が含まれています。

  1. オプション:これらの制御コマンドの出力。
  2. スクリプト:これには、実行するコマンドのリストが含まれています。
  3. 入力ファイル:これは、 sedコマンドを使用しているファイルです。

ファイル名がない場合、スクリプトは標準の入力データで動作します。また、オプションを使用せずにsedコマンドを実行することもできます。基本的な構文は次のとおりです。

sed 选项[脚本] [输入文件名]

SEDとAWKの比較

Linuxエコシステム内のテキスト処理ツールはsedだけではありません。別の強力なユーティリティはawkです。どちらもテキストを扱っていますが、いくつかの重要な違いがあります。

  • sed 、テキストをシンプルでシンプルな言語で解析および変換するのが得意であり、シンプルで制限されているが使いやすいものになっています。
  • 一方、 awk 、ステートメント形式に表示される強力なプログラムをテキスト処理および作成するためのツールです。 sedよりも複雑で、用途が広く、より強力ですが、より複雑です。

例で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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート