使用awk打印最后10行特定列

jpa*_*ich 2 bash awk

我有下面的awk命令行参数,除了它在整个文件上执行print参数(正如预期)这样做之外.我希望它只是在文件的最后10行(或任意数字)上执行格式化.非常感谢任何建议,谢谢!

我知道一个解决方案是用尾巴管道,但是想坚持使用纯awk解决方案.

awk '{print "<category label=\"" $13 " " $14 " " $15 "\"/>"}' foofile
Run Code Online (Sandbox Code Playgroud)

nik*_*nik 9

在Unix shell上没有必要使用语言或工具.

tail -10 foofile | awk '{print "<category label=\"" $13 " " $14 " " $15 "\"/>"}'
Run Code Online (Sandbox Code Playgroud)

一个很好的解决方案 而且,你已经拥有它了.

你的任意数字仍然可以作为尾巴的参数,没有任何东西丢失;
解决方案不会失去任何优雅.