使用sed删除包含多个字符串的所有行

men*_*ran -1 unix bash shell awk sed

我有两个文件.我想从log.txt中删除所有字符串(在url.txt中)

第一个文件是url.txt

google.com
bing.com
yahoo.com
Run Code Online (Sandbox Code Playgroud)

第二个文件是log.txt

   1.2.3 www.google.com bot
   626.7.7 www.yahoo.com browser
   35.5.6 www.test.com  search
   44.6.6 www.bing.com  web
Run Code Online (Sandbox Code Playgroud)

我想要这个输出:

35.5.6 www.test.com  search
Run Code Online (Sandbox Code Playgroud)

此代码适用于字符串,但我想从log.txt中删除所有字符串(在url.txt中)

sed -i '/$string/d' log.txt
Run Code Online (Sandbox Code Playgroud)

anu*_*ava 6

你可以用这个grep -v:

grep -vwFf url.txt log.txt
35.5.6 www.test.com  search
Run Code Online (Sandbox Code Playgroud)