2013-02-28 137 views
1
sed -i -e "/^*google.com*/d" activedomains.txt 

我所试图做的是剥离含* google.com *它需要在正面和背面的通配符的任何行,似乎无法推测出来:/bash的带线匹配通配符

回答

1

你的意思是?

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

肯特,感谢的人只是有语法错误! – ajankuv 2013-03-01 00:07:23

3

sed使用正则表达式,而不是通配符(尽管也许有东西做)。很简单的改变,虽然:

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

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

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

...这是越来越符合你在做什么,字面意思是“字符串的开始,那么零个或多个任意字符其次是“谷歌(一个任意字符)com'后跟零个或多个任何字符。“当然,由于它被“零或多”包围,所以直接匹配它也是一样。

0

这应该工作:

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

无需通配符这里:它像一个grep