我有一个看起来像这样的文件:
1
2
AA
4
5
AA BB
7
8
AA BB CC
10
11
AA BB CC DD
我正在使用 awk 来仅提取
nth
中的每个n=3
行。>>awk 'NR%3==0' /input/file_foo >> output/file_foobar
输出以单行显示为:
AA AA BB AA BB CC AA BB CC DD
.....等等
我希望它显示为:
AA
AA BB
AA BB CC
AA BB CC DD
我尝试将
\n
,printf
和\n
一起使用,依此类推,但它并没有按我预期的那样工作。请指教。
最佳答案
一种冗长的方式
awk '{ if (NR%3==0) { print $0} }'
您也可以使用
{printf("%s\n\n", $0)}
。如果单个\n
不起作用。如果仍然无法正常工作,则可能需要检查行终止符。可能不正确。在
RS
中使用awk
变量来分隔异常行终止符。
关于awk - 为什么awk不打印换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9490992/