web-dev-qa-db-ja.com

すべての行の後に複数の空白行を挿入する方法

入力ファイルの各行の後に5行の空白行を挿入したいと思います。

foo.txt

line 1
line 2
line 3

out.txt

line 1





line 2





line 3    





...

Solaris 5.10、nawkまたはsed

8
ayrton_senna

それがsedの仕事です:

sed -e 'G;G;G;G;G' file

awkの場合:

nawk -vORS='\n\n\n\n\n\n' 1 file

または短いバージョン:

awk 'ORS="\n\n\n\n\n\n"' file

または、各入力行にORSを設定しないでください:

awk 'BEGIN{ORS="\n\n\n\n\n\n"};1' file
12
cuonglm

別のもの、printf

cat file.txt | xargs printf "%s\n\n\n\n\n"

それをファイルに出力するには

(cat file.txt | xargs printf "%s\n\n\n\n\n") > out.txt

0

これにはnlを使用することもできます。私がそのようなことをするとき、私はしばしば元の行番号を保持することが有用だと思うので、それが私の頭に浮かびます。

eval "nl -ba -s'$(printf "\n\n\n\n\n'")" <infile

また、pr-doublespace引数-出力の入力のすべての改行を2倍にします。

しかし、sedも上手です。

0
mikeserv