0
awk -v FILE1="FILE1.out" -v FILE2="FILE2.out" '
FNR==NR {BLs[++BSize]=$1;BHs[BSize]=$2;next} {Blacked=0 for(i=1; i<BSize && ! Blacked; i++) Blacked = ($2 >= BLs[i] && $2 <= BHs[i])
if (Blacked) print > FILE2
else print > FILE1
}' BlackList_B_Number.dat 2OCS_VOICECALLS_1111_11_111111
對於這些輸入文件:
cat BlackList_B_Number.dat
902123123 902123124
902123127 902123128
015 017
450 600
cat 2OCS_VOICECALLS_1111_11_111111
111111111 902123124 201605
111111111 902123125 201605
111111111 902123126 201605
111111111 902123126 201605
111111111 902123123 201605
111111111 902123123 201605
111111111 016 201605240
111111111 1 20160524011
111111111 3 20160524024
111111111 423 201605240
111111111 5 20160524053
111111111 470 201605240
111111111 600 201605240
111111111 400 424242432
FILE2應該有470和600,但不存在,它打印在FILE1上。
cat FILE2.out
111111111 902123124 201605
111111111 902123123 201605
111111111 902123123 201605
111111111 016 201605240