1
sed -i -e "/^*google.com*/d" activedomains.txt

我想要做的是剥离任何包含 * google.com * 它需要是前后通配符的行,似乎无法弄清楚:/

4

3 回答 3

3

sed使用正则表达式,而不是通配符(尽管可能有一些东西)。不过很容易改变:

sed -i '/google\.com/d' activedomains.txt

这将删除任何匹配 google.com的行。你也可以使用

sed -i -e '/^.*google.com.*/d' activedomains.txt

...这与您所做的更加一致,字面意思是“字符串的开头,然后是零个或多个任何字符,然后是'google(任何字符之一)com',然后是零个或多个任何字符。” 当然,既然它被“零或更多”包围,那么直接匹配它也是一样的。

于 2013-02-28T23:27:15.747 回答
1

你是这个意思吗?

sed -i -e "/google\.com/d" activedomains.txt
于 2013-02-28T23:27:08.230 回答
0

这应该有效:

sed -i -e "/google.com/d" activedomains.txt

这里不需要通配符:它就像一个grep

于 2013-02-28T23:27:36.550 回答