如何grep文件来查找<version> 1.1.9-beta </version>这样的行?

时间:2016-04-06 13:46:32

标签: regex grep sh

寻找cat file | grep REGEX的建议,以获得<version>anything</version>的行。

3 个答案:

答案 0 :(得分:2)

grep -F '<version>1.1.9-beta</version>' file
  • -F会将您的模式与文字相匹配
  • 你不需要那些无用的cat
  • 如果您的意思是anything:请尝试grep '<version>.*</version>' filegrep -P '<version>.*?</version>' file,但使用正则表达式搜索xml是个坏主意

答案 1 :(得分:1)

使用-E选项匹配正则表达式:

grep -E "<version>.*</version>" file

有关正则表达式的信息,请参阅以下规则:https://www.gnu.org/savannah-checkouts/gnu/grep/manual/grep.html#Regular-Expressions

例如,要匹配典型版本格式(3.14或13.14或0.1458),您可以键入:

grep -E "<version>[0-9]?\.[0-9]?</version>" file

答案 2 :(得分:1)

你可以这样做:

grep '<version>[^<]*</version>' file.xml

[^<]*将匹配零个或多个字符,直到下一个<