我是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/

10-11 15:39