A文件含有1萬條記錄2. B 文件含有100條不良記錄.3.A文件里的記錄包含B里的文件記錄 格式也一樣. 假設是不良URL3.如何用shell 寫出在A文件里刪除包含B 的不良URL
2 回答
鴻蒙傳說
TA貢獻1865條經驗 獲得超7個贊
#!/bin/shwhile read linedo grep "$line" B >/dev/null #A文件的每行在B文件中查找看是否存在 [ $? -eq 0 ] || echo "$line" >>tmp #不存在就輸出到臨時文件tmpdone <Amv 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
提交
取消
