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

标签 bash awk

我有下面的 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/

相关文章:

linux - 在多行错误日志中搜索错误代码,然后在 Linux 上搜索其中的一些参数

bash循环遍历文件以查找字符串的开头

linux - 是否存在任何神奇的 "stdout"文件?

linux - Linux BASH 被发现后尝试启动文件

bash - 停止 shell 通配符扩展?

python - 为什么当我使用 echo 而不是 cat 管道代码时,python 会立即退出?

awk - 使用 awk,提取文本文件中列中两个字符串之间的第一个和最后一个数字,然后区分它们?

linux - 为什么在 while 循环内发生 ping 未知主机?

linux - 如何在shell脚本生成的文件顶部写标题

regex - 通过 sed 取消注释结束赞誉