awk 中判断条件的变化 

[misc16]/opt/aspire/product/misc16/liuhy>head prefixtmp.txt
上海    上海    21      1870210 0
上海    上海    21      1870211 0
上海    上海    21      1870212 0
上海    上海    21      1870213 0
上海    上海    21      1870214 0
上海    上海    21      1870215 0
上海    上海    21      1870216 0
上海    上海    21      1870217 0
上海    上海    21      1870218 0
上海    上海    21      1870219 0
[misc16]/opt/aspire/product/misc16/liuhy>awk '$4=="1870210" {print $0}' prefixtmp.txt 
上海    上海    21      1870210 0
[misc16]/opt/aspire/product/misc16/liuhy>awk '{if($4~/1870210/) print $0}' prefixtmp.txt 
上海    上海    21      1870210 0
[misc16]/opt/aspire/product/misc16/liuhy>awk '$0~/1870210/ {print $0}' prefixtmp.txt
上海    上海    21      1870210 0
[misc16]/opt/aspire/product/misc16/liuhy>awk '{if($3>$5) print $0}' prefixtmp.txt|head
上海    上海    21      1870210 0
上海    上海    21      1870211 0
以2或3开始,第二位为1的字符串
[misc16]/opt/aspire/product/misc16/liuhy>awk '$3~/^[23]1/ {print $0}' prefixtmp.txt
上海    上海    21      1870210 0
河北    保定    312     1873223 0
河北    唐山    315     1873252 0
河北    廊坊    316     1873361 0
河北    张家口  313     1873130 0
河北    承德    314     1873248 0
河北    沧州    317     1873301 0
河北    石家庄  311     1873217 0
河北    衡水    318     1873287 0
河北    邢台    319     1883349 0
河北    邯郸    310     1873209 0
两位字符串,2或3为第一位,第二位为1
[misc16]/opt/aspire/product/misc16/liuhy>awk '$3~/^[23]1$/ {print $0}' prefixtmp.txt
上海    上海    21      1870210 0
2或3为第一位,最后位为1,中间为重复2或3
[misc16]/opt/aspire/product/misc16/liuhy>awk '$3~/^[23]*1$/ {print $0}' prefixtmp.txt
上海    上海    221     1870210 0
上海    上海    21      1870211 0
河北    保定    31      1870312 0
河北    保定    331     1870322 0
[misc16]/opt/aspire/product/misc16/liuhy>awk '$3~/^[23][0-9]*1$/ {print $0}' prefixtmp.txt
上海    上海    22221   1870210 0
上海    上海    21      1872198 0
山西    太原    351     1873539 0
河北    保定    31      1870312 0
河北    保定    331     1870322 0
河北    石家庄  311     1873316 0
河南    焦作    391     1873914 0
河南    郑州    371     1873994 0
[misc16]/opt/aspire/product/misc16/liuhy>
[misc16]/opt/aspire/product/misc16/liuhy>
[misc16]/opt/aspire/product/misc16/liuhy>awk '$3~/(22221|31)/' prefixtmp.txt
上海    上海    22221   1870210 0
吉林    长春    431     1870448 0
四川    宜宾    831     1878413 0
山东    威海    631     1876316 0
山东    济南    531     1876419 0
河北    保定    31      1870312 0
河北    保定    331     1870322 0
河北    保定    312     1870332 0
河北    保定    312     1873329 0
河北    唐山    315     1873339 0
河北    廊坊    316     1870316 0
河北    张家口  313     1870313 0
河北    承德    314     1873249 0
河北    沧州    317     1870317 0
河北    石家庄  311     1870311 0
河北    衡水    318     1870318 0
河北    邢台    319     1873292 0
河北    邯郸    310     1873105 0
湖南    长沙    731     1877314 0
甘肃    兰州    931     1879424 0
[misc16]/opt/aspire/product/misc16/liuhy>awk '{if($3=="22221" && $4=="1870210") print $0}' prefixtmp.txt
上海    上海    22221   1870210 0
[misc16]/opt/aspire/product/misc16/liuhy>awk '{if($3=="22221" || $3~/31/) print $0}' prefixtmp.txt
上海    上海    22221   1870210 0
吉林    长春    431     1874304 0
四川    宜宾    831     1878410 0
山东    威海    631     1876310 0
河北    保定    31      1870312 0
河北    保定    331     1870322 0
河北    保定    312     1873224 0
河北    唐山    315     1873255 0
河北    廊坊    316     1873268 0
河北    张家口  313     1870323 0
河北    承德    314     1873143 0
河北    沧州    317     1873279 0
河北    石家庄  311     1873216 0
河北    衡水    318     1873184 0
河北    邢台    319     1873199 0
河北    邯郸    310     1873209 0
湖南    长沙    731     1877409 0
甘肃    兰州    931     1879424 0
[misc16]/opt/aspire/product/misc16/liuhy>