我有 2 个非常大的文件(每个文件超过 900 兆),格式为
email@address.tld:some_string:full name:location:contract_number
我需要使用 file_A (chk.forward.AUDIT.DATA.SET) 中的字段 1 和 2 作为与 file_b (AUDIT.DATA.SET) 的单行中的字段 1 和 2 匹配的模式。我愿意使用 sed、awk、grep、cut 或任何可以加快执行速度的东西。
下面是我写得不好的命令。我在这里有一个错误,正在创建一个怪物大小的结果文件(比原始文件大)。我确信有更好的方法来做到这一点。
while read line; do grep $(echo $line | cut -d: -f2) AUDIT.DATA.SET
>/dev/null && echo "AUDIT PASS ACCOUNT:$(echo $line | cut -d: -f1) FORWARD:$(echo $line | cut -d: -f2) MATCH OVD RECORD $(grep $(echo $line |cut -d: -f2) AUDIT.DATA.SET)" & || echo "AUDIT FAIL ACCOUNT:$(echo $line | cut -d: -f1) FORWARD:$(echo $line | cut -d:
-f2) NO MATCH $(grep $(echo $line |cut -d: -f2) AUDIT.DATA.SET)" ; done < chk.forward.AUDIT.DATA.SET >> restuls.txt