UNIXで他の行数の後に空白行を挿入する

UNIXで他の行数の後に空白行を挿入する

次のデータを含むabc.csvファイルがあるとします。

abc
def
geh
ijk
lmn
opq
rst

それでは、2行と6行の後に空の行を挿入したいと思います。

どの命令を使用すべきかをお勧めします。

ベストアンサー1

$ seq 10 | sed '2G;6G'
1
2

3
4
5
6

7
8
9
10

このG sedコマンドは、パターンスペースに改行文字と予約済みスペース(何も入れていないため空)を追加します。したがって、これは一致する行の下に空の行を追加する簡単な方法です。

もう一つの選択肢はaandsコマンドです:

sed '2a\

6a\
'

または:

sed '2s/$/\
/
6s/$/\
/'

一部のsed実装では、以下もサポートしています。

sed '2s/$/\n/;6s/$/\n/'

おすすめ記事