我有一个看起来像的文件
a
b
c
d
Run Code Online (Sandbox Code Playgroud)
假设我想添加N行(在示例3中,但实际上我需要20或100行,具体取决于文件)
a
b
c
d
Run Code Online (Sandbox Code Playgroud)
我可以使用sed在所有空白之间添加一个空白行
sed -i '0~1 a\\' file
Run Code Online (Sandbox Code Playgroud)
但是sed -i '0~3 a\\' file每3行插入一行。
您可以使用GNU sed:
sed -i 'G;G;G' file
Run Code Online (Sandbox Code Playgroud)
在G;G;G将追加的每个非最终线以下三个空行。
或awk:
awk 'BEGIN{ORS="\n\n\n"};1'
Run Code Online (Sandbox Code Playgroud)
观看在线sed和awk演示。
如果需要动态设置换行数,请使用
nl="
"
awk -v nl="$nl" 'BEGIN{for(c=0;c<3;c++) v=v""nl;ORS=v};1' file > newfile
Run Code Online (Sandbox Code Playgroud)