使用命令行选择行到列值

时间:2016-06-24 15:47:26

标签: awk command-line

我有一个这种格式的.tsv文件:

Year    Region  Subfunction                     Total
2007    Midwest General administration          4,652,314.25
2007    Midwest Child and teenager assistance   3,066,433.22 
2007    Midwest Basic assistance                45,653,414.66
2007    Midwest International cooperation       985,859.30

如何使用两列条件打印所有行,例如,打印年份== 2009和区域==南方的所有行?

2 个答案:

答案 0 :(得分:2)

awk '$1==2009 && tolower($2)=="south"' file

如果要打印标题,可以

awk 'NR==1 || (...)'

答案 1 :(得分:0)

sed -nE '/^2007[[:blank:]]+[sS]outh/p' file.tsv

也应该这样做。这假设年份在开头显示为完整的4位数(注释^