我试图找到与模式x.y或x.y.z匹配的行,其中x,y和z是数字。
例如,给出以下行:
1.0/
2.2.5rc1/
2.3.0/
2.3.1/
abc-1.0.0/
结果应该是:
1.0
2.3.0
2.3.1
我该怎么做?
答案 0 :(得分:0)
你可以做到
grep -C 2 yourSearch yourFile
要将其发送到文件中,请执行
grep -C 2 yourSearch yourFile > result.txt
希望它有所帮助!
答案 1 :(得分:0)
要了解的事情:
grep
在扩展模式下呼叫-E
。^
启动模式,表示您希望搜索从第一个字符开始。\d
\.
thing1|thing2
。注意:正如Jonathan Leffler在下面指出的那样,\d
是一种符号,可能不适用于所有版本的grep。请尝试[0-9]
或[[:digit:]]
符合grep。
知道了,我们把它放在一起:
grep -E "^(\d.\d.|\d.\d.\d)/" yourfile