awk 比较两个文件的异同的时候经常会用到
awk ‘{if(NR==FNR)(a[$0]=1)if(FNR!=NR){if(a[$0]!=1)print $0}}’ x1 x2
刚发现,这个东东, 要保证x1 x2 是有序的。
贴上来一个awk 脚本
防止以后忘了。 刚写的 用来分割不同文件的
awk 'BEGIN{
a=""
b=0;
filehead="fingerprint"
filenum=1
cnum=1
}
{
if(a==""){
a=$1
}
else if(a==$1)
{
c[cnum]=$0;
cnum=cnum+1
}
else if(a!=$1){
b=b+1;
if(b>100000){
filename = filehead"_"filenum
for (i=1;i<cnum;i++){
print c[i] > filename
}
filenum=filenum+1
cnum=1
c[cnum]=$0
cnum=2
b=0
a=$1
}
else{
c[cnum]=$0;
cnum=cnum+1;
a=$1
}
}
}END{
filename = filehead"_"filenum
for (i=1;i<cnum;i++){
print c[i] > filename
}}' fingerprint.new1
不是那么简洁 ,先用着吧
今天 导入tair
阿里的东西 真心说不上喜欢, 你说他好,他缺少好多支持,你说他不好,你又找不到过硬的理由。
就这样吧。
=====================================分割线
awk 取交集 比read line 要快1000倍