ych*_*che 1 regex awk grep sed
我有这样一条线
<zimlet name="com_feeder_sugarbee" version="0.7.1" description="Sugar Bee v0.7.1">
Run Code Online (Sandbox Code Playgroud)
我想只提取字符串0.7.1
你会建议什么工具?
我试过sed,awk,grep ......我不擅长任何一个.
编辑
什么语言/工具的模式如".+?" 和".*?" 应该尽可能返回最短的比赛?我确定我在某个地方看到了这个,但不记得在哪里.
一种方式使用sed:
sed -n 's/.*version="\([^"]*\).*/\1/p' file
Run Code Online (Sandbox Code Playgroud)
或者,如果你的版本grep支持Perl-regex:
grep -oP '(?<=version=")[^"]*' file
Run Code Online (Sandbox Code Playgroud)
结果:
0.7.1
Run Code Online (Sandbox Code Playgroud)