sedでN行ごとに空行を挿入する - 2019/11/27
めちゃくちゃニッチだと思うが、需要が発生したのでメモ。
数万行くらいのCSVファイルに、400行ごとに空行を挿入したい旨の要望が来た。
code: bash
$ sed -i '0~400a\\' target.csv
target.csvは任意のファイルで。
通常、sedは対象としたファイルの全行に適用されるがこのコマンドは、
"0~400"のようにすると、400で割ってあまりが0になる行番号に適用
a で対象行の下に
\\ 改行を挿入
という順に実行している。
注意点は条件の部分をシングルクォートで括ることである。
ダブルクォートだと動かなかった。
またこのコマンドだとtarget.csvが上書きされてしまうので、別ファイルに書き直したい場合は以下を。
code: bash
$ sed '0~400a\\' target.csv > new.csv
参考:
#bash
#sed
#シェル芸