我有两个数据文件;我想比较它们的第一个字段,并从输出文件中第一个文件的匹配条目旁边的第二个文件中打印该行.保持文件1中的列表顺序很重要,包括没有匹配的行.这些文件是制表符分隔值,但我可以根据需要更改它们(尽管数据中使用了逗号).
file1.TXT
376003921932887012626924100361341804238569245
file2.TXT
37600 GEAR PUMP 132887 MOTOR,480V 134180 BRACKET 200361 WASHER 442385 SCREW 8
期望的输出文件
37600 GEAR PUMP 13921932887 MOTOR,480V 1012626924100361 WASHER 434180 BRACKET 242385 SCREW 869245
到目前为止,这是我的最大努力,但它会导致一个空文件.
awk NR==NFR{a[];next} in a {printawk 'FNR==NR {a[]=} file1.txt file2.txt > outfile.txtawk 'FNR==NR {a[]=;next} a[] {=a[]}1' file2 file1;next} a[] {=a[]}1' file2 file137600 GEAR PUMP 13921932887 MOTOR,480V 1012626924100361 WASHER 434180 BRACKET 242385 SCREW 869245
任何帮助将不胜感激.
解决方法 你很亲密,这个awk应该这样做.我将file2存储在数组中,其中$1作为索引.
如果在数组中找到file1中的值,则将其设置为$0并全部打印出来.
您也可以写这个,以标记应该比较的第1列:
总结以上是内存溢出为你收集整理的awk – 在单独的文件中匹配数据全部内容,希望文章能够帮你解决awk – 在单独的文件中匹配数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)