sed
コマンドは標準入力やファイル入力に対して処理をする。処理内容の具体的コードを当サイトではsedスクリプト又は単にスクリプトと呼ぶことにする。
他のコマンド | sed オプション --expression='sedスクリプト'
通常は--expression
オプションは不要なので、以降省略。
他のコマンド | sed オプション 'sedスクリプト'
sed オプション 'sedスクリプト' ファイル1 ファイル2 …
当サイトでは表記の都合上、下記のようにsedスクリプトをシェル変数scriptに入れたりする。特にスクリプトが複数行になる場合。
script='# sedスクリプト1
# sedスクリプト2'
# 実行
sed オプション "$script" ファイル
また、入力もシェル変数inputに入れて下記の形式で例示したりする。下記全体をそのまま端末に貼り付け実行・動作確認できるし、見やすい。
input='1行目
2行目
3行目'
script='# sedスクリプト1
# sedスクリプト2'
echo "$input" | sed "$script"
sedスクリプトはコマンドやアドレスからなり、複数の処理を入れると長くなるので、適宜改行を入れることにする。空行は無視される。
その際に、プログラミング言語のように何も処理しないコメントを残せる。#
から行末までがコメント。
script='
# この行全体コメント。空行は無視。
スクリプト # 途中からコメント'
sedスクリプトのコードをファイルに記述しておいて、--file
オプションでそれを指定することもできる。
sed オプション --file='スクリプトファイル' ファイル