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條經驗 獲得超4個贊
給你寫個腳本,將腳本放入目錄內,或者把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
提交
取消