首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用awk每n行插入一个空行?

如何使用awk每n行插入一个空行?
EN

Stack Overflow用户
提问于 2009-06-10 18:34:23
回答 5查看 32.8K关注 0票数 21

我有一个这样的输入文件:

代码语言:javascript
复制
line 1
line 2
line 3
line 4
line 5
line 6

我想使用awk每隔几行插入一个空行;例如,每两行:

代码语言:javascript
复制
line 1
line 2

line 3
line 4

line 5
line 6

如何让awk每隔n行在我的文件中放入一个空行?

EN

回答 5

Stack Overflow用户

发布于 2009-06-11 16:04:18

一种更"awk-ish“的方式来写smcameron的答案:

代码语言:javascript
复制
awk -v n=5 '1; NR % n == 0 {print ""}'

"1;“是一个始终为真的条件,它将触发打印当前行的默认操作。

票数 26
EN

Stack Overflow用户

发布于 2009-06-10 18:39:34

代码语言:javascript
复制
awk '{ if ((NR % 5) == 0) printf("\n"); print; }'

当然是为了n == 5。替换您对n的任何想法。

票数 18
EN

Stack Overflow用户

发布于 2013-03-15 16:52:50

更可怕的是:

代码语言:javascript
复制
awk 'ORS=NR%5?RS:RS RS'

例如:

代码语言:javascript
复制
$ printf "%s\n" {1..12} | awk 'ORS=NR%5?RS:RS RS'
1
2
3
4
5

6
7
8
9
10

11
12
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/977408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档