假设我想利用shell在B文件里批量删除包含的A文件,请问该怎么操作?

A文件含有1万条记录
2. B 文件含有100条不良记录.
3.A文件里的记录包含B里的文件记录 格式也一样. 假设是不良URL
3.如何用shell 写出在A文件里删除包含B 的不良URL

白猪掌柜的
浏览 631回答 2
2回答

鸿蒙传说

#!/bin/shwhile&nbsp;read&nbsp;linedo&nbsp;&nbsp;&nbsp;&nbsp;grep&nbsp;"$line"&nbsp;B&nbsp;>/dev/null&nbsp;&nbsp;#A文件的每行在B文件中查找看是否存在&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;$?&nbsp;-eq&nbsp;0&nbsp;]&nbsp;||&nbsp;echo&nbsp;"$line"&nbsp;>>tmp&nbsp;&nbsp;#不存在就输出到临时文件tmpdone&nbsp;<Amv&nbsp;tmp&nbsp;A&nbsp;&nbsp;#用tmp覆盖A文件

守着一只汪

给你写个脚本,将脚本放入目录内,或者把a,b文件的绝对路径添加到其中也可以注意`cat b` 的两个反引号(键盘tab上面的那个键)不要打错了你说的生成新文件,脚本里写的生成新文件c,然后把a文件备份成a-bak,再把c文件命名为a,以这样的方式实现。脚本:#! /bin/shcat a | egrep -v "`cat b`" > cmv a a-bakmv c aecho "done"
打开App,查看更多内容
随时随地看视频慕课网APP