各行の後に複数の空行を挿入する方法

各行の後に複数の空行を挿入する方法

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

foo.txt:

line 1
line 2
line 3

out.txt:

line 1





line 2





line 3    





...

Solaris 5.10nawkまたはsed

答え1

これは次のとおりです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

答え2

もう一つは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

答え3

nlこの目的にも使用できます。私はこのようなことをするときに元の行番号を維持するのが便利であることをよく知っていたので、これを考えました。

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

doublespaceパラメーターもpr指定されます-d。これは、出力時に入力のすべての改行を2倍にします。

しかしsed悪くない

関連情報