sed -i -e "/^*google.com*/d" activedomains.txt
我所试图做的是剥离含* google.com *它需要在正面和背面的通配符的任何行,似乎无法推测出来:/bash的带线匹配通配符
sed -i -e "/^*google.com*/d" activedomains.txt
我所试图做的是剥离含* google.com *它需要在正面和背面的通配符的任何行,似乎无法推测出来:/bash的带线匹配通配符
你的意思是?
sed -i -e "/google\.com/d" activedomains.txt
sed
使用正则表达式,而不是通配符(尽管也许有东西做)。很简单的改变,虽然:
sed -i '/google\.com/d' activedomains.txt
这将删除匹配google.com
任何线。你也可以使用
sed -i -e '/^.*google.com.*/d' activedomains.txt
...这是越来越符合你在做什么,字面意思是“字符串的开始,那么零个或多个任意字符其次是“谷歌(一个任意字符)com'后跟零个或多个任何字符。“当然,由于它被“零或多”包围,所以直接匹配它也是一样。
这应该工作:
sed -i -e "/google.com/d" activedomains.txt
无需通配符这里:它像一个grep
肯特,感谢的人只是有语法错误! – ajankuv 2013-03-01 00:07:23