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

鸿蒙传说
TA贡献1865条经验 获得超7个赞
#!/bin/sh
while
read
line
do
grep
"$line"
B >
/dev/null
#A文件的每行在B文件中查找看是否存在
[ $? -
eq
0 ] ||
echo
"$line"
>>tmp
#不存在就输出到临时文件tmp
done
<A
mv
tmp A
#用tmp覆盖A文件

守着一只汪
TA贡献1872条经验 获得超3个赞
给你写个脚本,将脚本放入目录内,或者把a,b文件的绝对路径添加到其中也可以
注意`cat b` 的两个反引号(键盘tab上面的那个键)不要打错了
你说的生成新文件,脚本里写的生成新文件c,然后把a文件备份成a-bak,再把c文件命名为a,以这样的方式实现。脚本:
#! /bin/sh
cat a | egrep -v "`cat b`" > c
mv a a-bak
mv c a
echo "done"
添加回答
举报
0/150
提交
取消