sedのiコマンドとaコマンドを使うと、指定した行番号の前後に行を挿入できます。
使い勝手がとても良いコマンドなので紹介します。
スポンサーリンク
sedのiコマンドで、指定した行番号の前に行を挿入
sedのiコマンドを下記の形式で書くことで、指定した行番号の前の行に文字列を挿入することができます。
sed -e '行番号i 文字列' ファイル
例えば、下記のようにin.txtがあったとします。
$ cat in.txt 1.wc 2.mv 3.sed
2行目(行番号が2)の前に "INSERTLINE" の文字列を挿入する場合には、下記のように実行します。
実行すると、2行目の前の行に文字列が挿入されているのが確認できます。
$ sed '2i INSERTLINE' in.txt 1.wc INSERTLINE 2.mv 3.sed
スポンサーリンク
sedのaコマンドで、指定した行番号の後ろに行を挿入
sedのaコマンドを下記の形式で書くことで、指定した行番号の後の行に文字列を挿入することができます。
sed -e '行番号a 文字列 ファイル'
例えば、下記のようにin.txtがあったとします。
$ cat in.txt 1.grep 2.cp 3.sed
2行目(行番号が2)の後に "INSERTLINE" の文字列を挿入する場合には、下記のように実行します。
実行すると、2行目の後の行に文字列が挿入されているのが確認できます。
$ sed '2a INSERTLINE' in.txt 1.grep 2.cp INSERTLINE 3.sed
スポンサーリンク