输入:
#word1 #word2 #word3 #word4
1.00 2.00 3.00 4.00
#end
#word1 #word3 #word4
11.00 13.00 14.00
#end
#word1 #word2 #word3 #word4
21.00 22.00 23.00 24.00
#end
#word1 #word3 #word4
31.00 33.00 34.00
#end
输出:
#word1 #word3 #word4
1.00 3.00 4.00
#end
#word1 #word3 #word4
11.00 13.00 14.00
#end
#word1 #word3 #word4
21.00 23.00 24.00
#end
#word1 #word3 #word4
31.00 33.00 34.00
#end
我想做的是打印出匹配字符串之间的某些行。如果都相同,我可以这样做,但是在输入中有时会有两列,有时有四列。如何从输入中获得输出?
答案 0 :(得分:1)
如果该行有四列,如果要忽略column2,则可以使用
awk 'NF==4{ print $1,$3,$4; next }{ print }' input.txt
或更短
awk 'NF==4{ print $1,$3,$4; next }1' input.txt
如果该行有四列,则打印第1、3和4列,否则打印整行。