sedコマンド:ストリームエディタでテキストを変換する

sed(stream editor)は、LinuxやUnix系オペレーティングシステムで使用される強力なテキストストリームエディタです。このコマンドを使用することで、テキストファイルの内容を読み込み、特定のパターンに基づいてテキストを検索、置換、追加、削除することができます。スクリプト内やターミナルから直接実行することで、テキスト処理の自動化に非常に便利です。

sedコマンドの基本的な使い方

sedの最も基本的な使い方は、sed 's/検索パターン/置換文字列/' ファイル名です。これは、指定されたファイル内の検索パターン置換文字列に置換します。

sed 's/apple/orange/' fruits.txt

このコマンドはfruits.txtファイル内のappleorangeに置換します。ただし、この操作はファイルには保存されず、結果は標準出力に表示されます。

sedコマンドの主要なオプション

  • -i:ファイルを直接編集し、変更をファイルに保存します。
  • -e:複数のコマンドを実行する際に使用します。
  • -n:自動的に出力されるすべてのテキストの出力を抑制し、特定のコマンドで指定されたテキストのみを出力します。
sed -i 's/apple/orange/' fruits.txt

このコマンドはfruits.txtファイル内のappleorangeに置換し、変更をファイルに直接保存します。

sedコマンドの応用

sedはその強力なテキスト処理能力により、多くの応用が可能です。

テキストファイルから行を削除する

sed '2d' fruits.txt

これはfruits.txtファイルの2行目を削除します。ただし、変更はファイルに保存されません。

行の範囲を指定してテキストを置換する

sed '2,4s/apple/orange/' fruits.txt

このコマンドは2行目から4行目までのappleorangeに置換します。

ファイル内のすべてのインスタンスを置換する

sed 's/apple/orange/g' fruits.txt

gオプションを使用すると、ファイル内のすべてのappleorangeに置換されます。

まとめ

sedコマンドはLinuxのテキスト処理における強力なツールです。基本的な置換から複雑なテキスト操作まで、多岐にわたる用途に対応できます。このコマンドをマスターすることで、Linux上でのテキスト処理の効率を大幅に向上させることができます。

コメント

タイトルとURLをコピーしました