如何在bash中将grep结果的值设置为变量?

时间:2014-05-25 15:15:33

标签: mysql bash shell grep

此代码行搜索网站,提取并打印出要筛选的域名列表。它运作得很好。

httrack --skeleton http://www.ilovefreestuff.com -V "cat \$0" | grep -iEo '[[:alnum:]-]+\.(com|net|org)'

我需要将此grep模式匹配的结果设置为变量,以便我可以将结果传递给mysql insert命令。不幸的是,我甚至无法将变量回显到屏幕上。我做错了什么?

httrack --skeleton http://www.ilovefreestuff.com -V "cat \$0" | domain=“$(grep -iEo '[[:alnum:]-]+\.(com|net|org)’)” | echo $domain

非常感谢任何帮助。

此致

1 个答案:

答案 0 :(得分:0)

试试这个:

$ domain=$(httrack --skeleton http://www.ilovefreestuff.com -V "cat \$0" | grep -iEo '[[:alnum:]-]+\.(com|net|org)')
$ echo "$domain"

您可以将包含管道的整个命令包装到$(..)中,因为您无法将命令输出传递给命令替换。

相关问题