sed -i -e "/^*google.com*/d" activedomains.txt
我想要做的是剥离任何包含 * google.com * 它需要是前后通配符的行,似乎无法弄清楚:/
sed
使用正则表达式,而不是通配符(尽管可能有一些东西)。不过很容易改变:
sed -i '/google\.com/d' activedomains.txt
这将删除任何匹配 google.com
的行。你也可以使用
sed -i -e '/^.*google.com.*/d' activedomains.txt
...这与您所做的更加一致,字面意思是“字符串的开头,然后是零个或多个任何字符,然后是'google(任何字符之一)com',然后是零个或多个任何字符。” 当然,既然它被“零或更多”包围,那么直接匹配它也是一样的。
你是这个意思吗?
sed -i -e "/google\.com/d" activedomains.txt
这应该有效:
sed -i -e "/google.com/d" activedomains.txt
这里不需要通配符:它就像一个grep