linux – AWK – 打印最后一列以及空值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – AWK – 打印最后一列以及空值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含965字,纯文字阅读大概需要2分钟。
内容图文
![linux – AWK – 打印最后一列以及空值](/upload/InfoBanner/zyjiaocheng/957/cdbb4636d806444cb270dde83454a96e.jpg)
如果我们不知道最后一个列号,我们可以使用$NF打印文件中每行的最后一列.
但是我面临的困难是最后一列有空值.
例如,解析谁命令
$who
root tty1 2018-01-25 09:36
root pts/0 2018-05-30 07:39 (192.168.1.134)
root pts/1 2018-05-28 23:12 (192.168.1.134)
root pts/2 2018-06-01 10:01 (192.168.1.188)
获得结果:
$who | awk '{print $NF}'
09:36
(192.168.1.134)
(192.168.1.134)
(192.168.1.188)
预期结果
(192.168.1.134) (192.168.1.134) (192.168.1.188)
让我知道在单行中获得预期结果的可能性.
编辑1:以上场景只是一个例子.我不喜欢更改分隔符来实现结果.
编辑2:字段数少于最大值的行没有(空行输出)
解决方法:
要仅输出具有最大列数的行的最后一列,您可以执行以下操作:
who | awk '
NF > max {max = NF; output = ""}
NF == max {output = output $NF ORS}
END {printf "%s", output}'
为每行输入输出一行,但对于没有最大列数的行输出空白:
who | awk '
NF > max {max = NF}
{n[NR] = NF}
NF == max {last[NR] = $NF}
END {for (i = 1; i <= NR; i++) print n[i] == max ? last[i] : ""}'
内容总结
以上是互联网集市为您收集整理的linux – AWK – 打印最后一列以及空值全部内容,希望文章能够帮你解决linux – AWK – 打印最后一列以及空值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。