当我 grep 文件中的字符串时,我得到这个输出。
$ grep "java vm version" dev_server0
F java vm version : 6.1.094 25.51-b02
我只需要输出6.1.094
并删除它周围的所有其他字符/数字。我怎样才能做到这一点?
答案1
尝试
grep "java vm version" dev_server0 | awk '{print $6}'
awk
默认情况下,按空格分割输入行,第 6 个字段就是您所需要的
例如:
$ echo 'F java vm version : 6.1.094 25.51-b02' | awk '{print $6}'
6.1.094
如果你有grep
,pcre
请尝试
grep -oP 'java vm version\s*:\s*\K\S+' dev_server0
java vm version\s*:\s*\K
积极地回顾这种模式\S+
提取非空格字符
答案2
POSIXly:
sed -n 's/.*java vm version[[:blank:]:]*\([^[:blank:]]*\).*/\1/p'
答案3
只打印第 6 个字段:
grep "java vm version" dev_server0 | awk '{print $6}'