gpt4 book ai didi

linux - AWK 匹配两个文件之间的字段

转载 作者:太空宇宙 更新时间:2023-11-04 05:39:50 25 4
gpt4 key购买 nike

我是 sh 和 AWK 命令的新手,我一直在尝试一些具有不同选项的命令,但没有成功:(

我有两个文件,我想将 file1 中的位置 22,3 与 file2 上的字符串进行匹配。如果没有匹配,我需要写入file1行。

文件1:

/batch/shared/TZ/TMP/AAA
/batch/shared/TZ/TMP/BBB
/batch/shared/TZ/TMP/CCC
/batch/shared/TZ/TMP/DDD

文件2:

BBB
DDD

结果:

/batch/shared/TZ/TMP/BBB
/batch/shared/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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com