#!/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