如何使用 awk 每 n 行插入一个空行?
我有一个像这样的输入文件:
line 1
line 2
line 3
line 4
line 5
line 6
我想使用 awk 每隔几行插入一个空行; 例如,每两行:
line 1
line 2
line 3
line 4
line 5
line 6
如何让 awk 每 n 行在文件中放入一个空行?
I've got an input file like this:
line 1
line 2
line 3
line 4
line 5
line 6
I'd like to use awk to insert a blank line every few lines; for example, every two:
line 1
line 2
line 3
line 4
line 5
line 6
How can I get awk to put a blank line into my file every n lines?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我想“print”应该在“printf”之前,并且 FNR 对于您的任务来说更准确。
I guess 'print' should be before 'printf', and FNR is more accurate for your task.
如果要更改'n',请通过awk的-v选项设置参数'n'。
If you want to change 'n', please set the parameter 'n' by awk's -v option.
一种更“awk 式”的方式来编写 smcameron 的答案:
“1;” 是一个始终为真的条件,并将触发默认操作,即打印当前行。
A more "awk-ish" way to write smcameron's answer:
The "1;" is a condition that is always true, and will trigger the default action which is to print the current line.
当然,对于
n == 5
。 替换您对n
的想法。for
n == 5
, of course. Substitute whatever your idea ofn
is.更加笨拙:
例如:
More awkishness:
For example: