我有一个这样的输入文件:
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行在我的文件中放入一个空行?
发布于 2009-06-11 16:04:18
一种更"awk-ish“的方式来写smcameron的答案:
awk -v n=5 '1; NR % n == 0 {print ""}'
"1;“是一个始终为真的条件,它将触发打印当前行的默认操作。
发布于 2009-06-10 18:39:34
awk '{ if ((NR % 5) == 0) printf("\n"); print; }'
当然是为了n == 5
。替换您对n
的任何想法。
发布于 2013-03-15 16:52:50
更可怕的是:
awk 'ORS=NR%5?RS:RS RS'
例如:
$ printf "%s\n" {1..12} | awk 'ORS=NR%5?RS:RS RS'
1
2
3
4
5
6
7
8
9
10
11
12
https://stackoverflow.com/questions/977408
复制相似问题