我有下面的 awk 命令行参数,除了它在整个文件上执行打印参数(如预期)之外,它还能工作。我希望它只对文件的最后 10 行(或任意数字)执行格式化。非常感谢任何建议,谢谢!
我知道一种解决方案是用 tail 进行管道传输,但我想坚持使用纯 awk 解决方案。
awk '{print "<category label=\"" $13 " " $14 " " $15 "\"/>"}' foofile
最佳答案
Unix shell 上的语言或工具无需正统。
tail -10 foofile | awk '{print "<category label=\"" $13 " " $14 " " $15 "\"/>"}'
是一个很好的解决方案。而且,你已经拥有了。
你的任意数字仍然可以用作tail的参数,没有任何损失;
解决方案不失任何优雅。
关于bash - 使用 awk 打印特定列的最后 10 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1143718/