为什么awk没有打印出换行符?

man*_*ane 9 awk

我有一个看起来像这样的文件:

1 
2
AA 
4
5
AA BB
7
8
AA BB CC
10
11
AA BB CC DD
Run Code Online (Sandbox Code Playgroud)

我使用awk只提取每一nthn=3.

>>awk 'NR%3==0' /input/file_foo >> output/file_foobar
Run Code Online (Sandbox Code Playgroud)

输出显示在一行中:

AA AA BB AA BB CC AA BB CC DD
Run Code Online (Sandbox Code Playgroud)

.....等等

我希望它显示为:

AA 
AA BB 
AA BB CC 
AA BB CC DD 
Run Code Online (Sandbox Code Playgroud)

我尝试使用\n,printf使用\n等等,但它不能像我期望的那样工作.请指教.

Shi*_*dim 9

一种冗长的方式,

awk '{ if (NR%3==0) { print $0}  }'
Run Code Online (Sandbox Code Playgroud)

你也可以用{printf("%s\n\n", $0)}.如果单身\n不起作用.

如果它仍然不起作用,您可能需要检查行终止符.这可能不合适.使用RS变量in awk来分隔异常行终止符.