报价中的grep值(regEx)

时间:2011-01-26 12:50:29

标签: regex grep

我尝试使用grep搜索引号中的值来解析文件:


output.txt的

...垃圾.... productID = 'keyboad - mod A3025' ...垃圾....


在文件中我想使用grep(egrep在windows中)获取引用值: keyboad - mod A3025

在没有引号的情况下提取 productID 中的值的表达式是什么?

谢谢!


使用以下工作:

  

grep.exe -aiPo“productID = \'(。*?)\'”output.txt

输出:

  

productID ='keyboad - mod A3025'

现在,如何摆脱 productID = 和报价?

1 个答案:

答案 0 :(得分:1)

如果你有Ruby(1.9 +)

$ echo "... junk .... productID='keyboad - mod A3025' ... junk ....'next' ... junk" | ruby -e 'puts gets.scan(/\47(.*?)\47/)'
keyboad - mod A3025
next

或使用GNU grep

$ echo "... junk .... productID='keyboad - mod A3025' ... junk ....'next' ... junk" | grep -Po '(productID=)\47(.*?)\47' | grep -Po '\47(.*?)\47'
'keyboad - mod A3025'