问个很弱的,awk 如何不打印最后个一域
答案:4 悬赏:0 手机版
解决时间 2021-02-23 21:23
- 提问者网友:人傍凄凉立暮秋
- 2021-02-23 14:46
问个很弱的,awk 如何不打印最后个一域
最佳答案
- 五星知识达人网友:天凉才是好个秋
- 2021-02-23 15:48
最佳答案的网友思路很好,启发了我。原代码可以简约为echo "a b c d" | awk 'NF-=1'。不过当分隔符不是空格时,这种方法不适用。经测试后,以下方法可用:echo "a:b:c:d" | awk -F: 'OFS=":",NF-=1'
全部回答
- 1楼网友:青尢
- 2021-02-23 18:50
awk '{sub( FS "[^" FS "]*$","");print $0}'
- 2楼网友:舍身薄凉客
- 2021-02-23 17:48
awk -f":" '{$2="";ofs=":";print}' /etc/passwd
这样就不会打印/etc/passwd中的第二个字段。
- 3楼网友:山君与见山
- 2021-02-23 16:43
$ echo "a b c d" | awk '{NF-=1;print}'
a b cNF(Number of Field)减1,就会少打印最后一个字段。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯