アドレスの指定

スポンサーリンク

アドレスを指定することでsedのコマンドがどの行に対して実行するかを制御することができます。
アドレスの機能を確認するならiコマンドやaコマンド等の文字列を追加するコマンドが分かりやすいでしょう。
また、-nオプションで出力を抑制して、pコマンドで明示的に出力する行を指定して確認するのも分かりやすいでしょう。

アドレスを指定しない場合は、全ての行に対して、コマンドが実行されます。

test.txt

実行例

数字を1つ指定するとsedが処理しているその行番号に対して、数字を2つ指定するとその範囲に対して、コマンドが実行されます。

実行例

スポンサーリンク

最後の行を指定

アドレスで最後の行を指定する文字として'$'があります。

ステップ

GNU拡張でステップを指定する方法があります。num~numのように指定します。

正規表現で指定

数字の代わりに正規表現で指定することもできます。

アドレスを2つ指定すると範囲を指定できます。test.txtを2つ繋げ、いくつかの例を示します。

否定

コマンドの前に'!'をつけることで指定行やアドレスの範囲を否定して、実行するかどうかを反転することができます。

指定行の否定

範囲の否定