shell用A里的文件批量删除B里的文件

定一个文件A.txt里边全是需要黑名单域名用A.TXT匹配母文件B.TXT删除在B里存在的A文件B.TXT文件不能删除替换.最好用sed的方式来实现.... 定一个文件A.txt 里边全是需要黑名单域名
用A.TXT 匹配母文件B.TXT 删除在B 里存在的A文件
B.TXT文件不能删除替换. 最好用sed 的方式来实现.
展开
 我来答
yexicheng
推荐于2016-06-16 · TA获得超过1.2万个赞
知道大有可为答主
回答量:8857
采纳率:69%
帮助的人:7071万
展开全部

不知道这样是不是你要的效果,没使用sed

#!/bin/bash
for i in `cat b.txt`
do
cat a.txt |grep $i
if [ $? -eq 1 ]
then
echo $i >> c.txt
fi
done

就是一个匹配,把不存在的放入c.txt中

追问
可以是可以实现.但是会把母文件B里的大部分文件导入到了C 文件.
是否可以B里grep 出来A 然后删掉
追答

你之前的要求不是“B.TXT文件不能删除替换”

那其实也很简单,替换一下就可以了

#!/bin/bash
for i in `cat b.txt`
do
cat a.txt |grep $i
if [ $? -eq 1 ]
then
echo $i >> c.txt
fi
done
rm b.txt
mv c.txt b.txt

最后改一下就行

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式