$ echo "a b c d" | awk '{NF-=1;print}'
a b c
NF(Number of Field)减1,就会少打印最后一个字段。
最佳答案的网友思路很好,启发了我。原代码可以简约为echo "a b c d" | awk 'NF-=1'。不过当分隔符不是空格时,这种方法不适用。经测试后,以下方法可用:echo "a:b:c:d" | awk -F: 'OFS=":",NF-=1'
awk '{sub( FS "[^" FS "]*$","");print $0}'