linux shell中利用列数筛选数据


1、测试数据,依据列数筛选数据

root@PC1:/home/test# ls
test.txt
root@PC1:/home/test# cat test.txt  ## 测试数据 2 3 4 3 d
a 3 d
d w e f
z v e
z c g k e q
z v b d
root@PC1:/home/test# awk 'NF == 3' test.txt   ## 筛选test.txt中列数为3的数据
a 3 d
z v e
root@PC1:/home/test# awk 'NF == 4' test.txt    ## 筛选test.txt中列数为4的数据
d w e f
z v b d
root@PC1:/home/test# awk 'NF == 5' test.txt
2 3 4 3 d
root@PC1:/home/test# awk 'NF == 6' test.txt
z c g k e q

 

2、

root@PC1:/home/test# cat test.txt
2 3 4 3 d
a 3 d
d w e f
z v e
z c g k e q
z v b d
root@PC1:/home/test# awk '{if(gsub(/ /, "&") == 3 - 1) print $0}' test.txt ## 提取列数为3的行
a 3 d
z v e
root@PC1:/home/test# awk '{if(gsub(/ /, "&") == 4 - 1) print $0}' test.txt
d w e f
z v b d
root@PC1:/home/test# awk '{if(gsub(/ /, "&") == 5 - 1) print $0}' test.txt
2 3 4 3 d

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM