awk '{if($3>30 && $(NF-1)>50){print;}}' test1.txt | wc -l


sed '1d' test2.txt | awk '{split($2,a,"|");print $1"\t"a[3]"\t"a[4]}' > test3.txt


以上表示把第二列分隔, 取第一列以及分隔后的第三和第四个字段。


awk 'NR==FNR {val[$2]=$3;next};{if($3 in val)print $0"\t"val[$3]; else print $0"\tNone"}' file1.txt file2.txt > result.txt


以上输出结果行数与file2.txt 行数相同, 查找file2.txt的 第三列数据,到file1.txt的第二列中去找,如果找到就把对应的file1.txt的第三列添加到结果文件中,没有的话就结果中那一行的最后写个None。


也可以用 script.awk 指定代码文件, 用-f 参数调用

awk -f script.awk  file

BEGIN{

FS=":"

}

{print $1}               //效果与awk -F":" '{print $1}'相同,只是分隔符使用FS在代码自身中指定


参考: http://www.cnblogs.com/xudong-bupt/p/3721210.html