标题: [技术讨论] [分享]awk和grep对比两个文件删除指定列重复行 [打印本页]
作者: Batcher 时间: 2022-12-20 10:46 标题: [分享]awk和grep对比两个文件删除指定列重复行
【问题描述】
如何读取a.txt内容,匹配b.txt已/分隔符第5列前12位的字符串,匹配则删除b.txt的匹配行。
作者: Batcher 时间: 2022-12-20 10:47
【解决方案】
如果真实数据跟这个样本格式相同,那么可以考虑不区分第几列,直接对比:- grep -vFf a.txt b.txt > c.txt
复制代码
严格匹配第五列,如果a.txt只有一行:- gawk -F "/" "BEGIN{getline s < \"a.txt\"}$5!~s" b.txt > c.txt
复制代码
如果a.txt有一行或多行:- gawk -F "/" "NR==FNR{a[i++]=$0}NR>FNR{n=0;for(i in a)if($5~a[i])n=1;if(n==0)print}" a.txt b.txt > c.txt
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |