-nオプション(--quietまたは--silentオプション)を用いるとsedのスクリプトでの最後のパターンスペースの出力を抑えることができます。
パターンスペースとはsedが行を編集するために利用するバッファになります。
-nオプションを利用するとpコマンド等で明示的に指定しない限り出力が行われなくなります。
1 2 3 4 5 |
$ seq 10 | sed -n '4,7p' 4 5 6 7 |
コマンドをグループ化してpコマンドを2回利用すると以下のような出力を得ることができます。
1 2 3 4 5 6 7 8 9 |
$ seq 10 | sed -n '4,7{p;p}' 4 4 5 5 6 6 7 7 |
sedコマンドで少し変わった出力を得たい場合に-nオプションが便利になります。
スクリプトから出力を抑制
スクリプトの最初に'#n'を置くことで-nオプションと同じ機能を有効にすることができます。
1 2 3 4 5 |
$ seq 10 | sed -e'#n' -e'4,7p' 4 5 6 7 |