免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3220 | 回复: 12
打印 上一主题 下一主题

从一文本内删除 另一文本内含有的内容 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-12 18:25 |只看该作者 |倒序浏览
RT

比如a文本内有

aaa
bbb
ccc
ddd


b文本内有
ddd
ccc
eee

删除后a文本内只有

aaa
bbb

论坛徽章:
0
2 [报告]
发表于 2008-12-12 18:34 |只看该作者
grep -Fvf b a

前两天有个帖子里现学的

论坛徽章:
0
3 [报告]
发表于 2008-12-12 18:39 |只看该作者
for i in `cat b`    #把文本 B每一行赋值
do
sed -i 's/$i//g' a   #S删除A中含有那些值的行,G全文检索
done


如果B文本行数太多不建议此操作,另想办法。1000行以内应该很快跑完

论坛徽章:
0
4 [报告]
发表于 2008-12-12 18:40 |只看该作者
2楼的强

论坛徽章:
0
5 [报告]
发表于 2008-12-12 18:54 |只看该作者
原帖由 tonyfu 于 2008-12-12 18:40 发表
2楼的强


不过我发现错了,grep命令并不是以整行内容来匹配的,比如

a文本内有

aaa
bbb
ccc
ddd


b文本内有
d
c
e

结果仍然会是
aaa
bbb

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
6 [报告]
发表于 2008-12-12 19:00 |只看该作者
-x
grep -Fvxf b a

论坛徽章:
0
7 [报告]
发表于 2008-12-12 19:09 |只看该作者
原帖由 ynchnluiti 于 2008-12-12 19:00 发表
-x
grep -Fvxf b a

明白了

论坛徽章:
1
丑牛
日期:2014-08-07 17:07:05
8 [报告]
发表于 2008-12-12 19:34 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
2015年亚洲杯之韩国
日期:2015-04-24 09:07:02
9 [报告]
发表于 2008-12-12 20:45 |只看该作者
-x, --line-regexp
              Select only those matches that exactly match the whole line.

论坛徽章:
0
10 [报告]
发表于 2008-12-12 21:25 |只看该作者

回复 #1 strawman919 的帖子

awk 'NR==FNR{a[$1]}NR>FNR{if(!($1 in a))print $0}'  b  a
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP