2014-09-28 91 views
0

我試圖從文件中找到文本並將其分配給變量。我用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 

有人指導我的問題。

回答

0

你沒有把grep命令中$()

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

命令應在$()而分配給它的輸出到一個變量被封閉。

+0

我看不到打印輸出。我用這樣的:'gl = $(grep -o --perl-regexp「(?<= product_group_type,value:product _)[a-zA-Z0-9 _] +」wgettesting.html) echo $ gl' - 我得到空輸出 – user3624000 2014-09-28 15:46:31

+0

我犯了什麼錯誤? – user3624000 2014-09-28 15:48:52

+0

發佈'grep -o -perl-regexp「的輸出(?<= product_group_type,value:product _)[a-zA-Z0-9 _] +」wgettesting.html' – 2014-09-28 15:49:19

相關問題