我只需要打印最後兩列。如何使用awk打印最後兩列
94
A
回答
158
你可以利用它被設置爲輸入記錄的字段總數變量NF
的:
awk '{print $(NF-1),"\t",$NF}' file
這個假定您至少有2個字段。
10
1
使用GAWK表現出的問題:
gawk '{ print $NF-1, $NF}' filename
1 2
2 3
-1 one
-1 three
# cat filename
1 2
2 3
one
one two three
我只是把GAWK在Solaris 10 M4000: 所以,GAWK是在$ NF-1與$(NF-1)發行cuplrit。下一個問題POSIX說什麼? 每:
http://www.opengroup.org/onlinepubs/009695399/utilities/awk.html
沒有方向的一種方式或其它。不好。 gawk意味着減法,其他awks意味着場數或減法。哼。
7
@jim mcnamara:嘗試使用大括號NF
,即i。即$(NF-1)
和$(NF)
,而不是$NF-1
和$NF
(適用於FreeBSD的Mac OS X 10.6.8和更高版本的和gawk
)。
echo '
1 2
2 3
one
one two three
' | gawk '{if (NF >= 2) print $(NF-1), $(NF);}'
# output:
# 1 2
# 2 3
# two three
相關問題
- 1. AWK打印最後一行
- 2. 如何使用AWK打印?
- 3. 如何使用awk打印出最後的模式範圍?
- 4. 使用awk打印最後10行的特定列
- 5. 用AWK打印列
- 6. 用awk打印三列,然後打印三列
- 7. awk從最後一列開始在csv文件中打印列
- 8. awk:打印前11列(不包括最後一列)
- 9. 避免在awk中打印兩次最後一行
- 10. 用Awk或Cut打印列?
- 11. 使用awk或sed打印從第n列到最後的所有列
- 12. 用awk打印
- 13. 如何使用awk或sed打印兩行相鄰的行?
- 14. 如何使用awk打印每第4列至第n列和從第(n + 1)列到最後一列?
- 15. 使用兩種字段分隔符awk打印列
- 16. 如何使用AWK打印最高號線?
- 17. AWK:打印一切,但不是最後的第n列
- 18. awk打印行與n列,並忽略最後一行
- 19. 嘗試使用awk打印列但打印未找到
- 20. 如何打印內部AWK
- 21. 如何打印具有AWK
- 22. 在awk中打印列
- 23. AWK打印行基於列
- 24. 如何使用awk命令打印列的值?
- 25. 如何使用awk在makefile中通過編號打印列?
- 26. 打印線,用awk
- 27. 如果匹配,awk命令打印最後5行
- 28. 打印與AWK
- 29. 在AWK打印
- 30. awk要打印缺少序列缺口和最小 - 最大值:
不太確定爲什麼這有87個upvotes,它至少可以通過一個例子來改善。 – Arj 2017-05-11 12:00:47