我是sh和AWK comand的新手,我一直在尝试一些具有不同选项的命令,但是没有用:(
我有两个文件,我想将file1中的位置22,3与file2上的字符串进行匹配。如果没有匹配,我需要写file1行。
文件1:
/批次/共享/ TZ / TMP / AAA
/批次/共享/ TZ / TMP / BBB
/批次/共享/ TZ / TMP / CCC
/批次/共享/ TZ / TMP / DDD
文件2:
血脑屏障
DDD
结果:
/批次/共享/ TZ / TMP / BBB
/批次/共享/ TZ / TMP / DDD
我从未在此页面上写过文章,但是却节省了很多时间。
非常感谢!
最佳答案
这正是您要寻找的:
awk 'NR==FNR{a[$0]=1;next} {n=0;for(i in a){if(substr($0,22,3)~i) { n=1} } } n' file2 file1
希望这可以帮助 :)
关于linux - 两个文件之间的AWK匹配字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38787924/