从文件中查找文本并分配给变量

时间:2014-09-28 15:23:14

标签: bash shell

我正在尝试从文件中查找文本并将其分配给变量。我使用grep和正则表达式选项来查找文本。我需要将输出分配给变量,以便我可以在任何需要的地方使用输出。文件名:wgettesting.html

cat wgettesting.html
productvale:productvalues,productinfo:productinformation,product_group_type,value:product_genderledger,productcategories:smallcategories

我在脚本中使用的命令:

gl=grep -o --perl-regexp "(?<=product_group_type,value:product_)[a-zA-Z0-9_]+" wgettesting.html
echo $gl

当我运行脚本时,我得到:-o: command not found用于上述命令。

我也尝试过:

gl=cat wgettesting.html|grep -o --perl-regexp ""(?<=product_group_type,value:product_)[a-zA-Z0-9_]+"
echo $gl

对于上述内容,我收到了:wgettesting.html: command not found

我的预期输出必须是:

genderledger

有人在这个问题上指导我。

1 个答案:

答案 0 :(得分:0)

您未能将grep命令放在$()

$ gl=$(grep -o --perl-regexp "(?<=product_group_type,value:product_)[a-zA-Z0-9_]+" wgettesting.html)
$ echo $gl
genderledger

命令应该包含在$()中,同时将其输出分配给变量。