#!/bin/bash
for f in `ls /root/zlj/script/*`
do
awk 'NR==FNR {for(i = 1;i <= NF;i++) a[$i]++; } NR > FNR {OFS=" ";for(i = 1;i <= NF; i++ ) if(a[$i]) print $i;}' a.txt $f > $f.extract
done
for f in `ls /root/zlj/script/*`
do
awk 'NR==FNR {for(i = 1;i <= NF;i++) a[$i]++; } NR > FNR {OFS=" ";for(i = 1;i <= NF; i++ ) if(a[$i]) print $i;}' a.txt $f > $f.extract
done
上面的脚本用来判断把a.txt文件与某个目录下所有文件进行比较,再导出不同的字段。
下面的脚本仅仅将其打印出来。
[root@hzlinea02 test]# cat urfile1
1 2 3
[root@hzlinea02 test]# cat urfile2
1 4 5 6 8
[root@hzlinea02 test]# awk 'NR==FNR {for(i = 1;i <= NF;i++) a[$i]++; } NR > FNR {OFS=" ";for(i = 1;i <= NF; i++ ) if(!a[$i]) print $i;}' urfile2 urfile1
2
3
1 2 3
[root@hzlinea02 test]# cat urfile2
1 4 5 6 8
[root@hzlinea02 test]# awk 'NR==FNR {for(i = 1;i <= NF;i++) a[$i]++; } NR > FNR {OFS=" ";for(i = 1;i <= NF; i++ ) if(!a[$i]) print $i;}' urfile2 urfile1
2
3
转载于:https://blog.51cto.com/qqtthappygo/1099581