情况 有一个名为test的文件,包含以下文本:
this is the first line
version=1.2.3.4
this is the third line
我如何仅通过bash打印:
1.2.3.4
注意:我要一直打印到"version="
之后的行尾,而不要搜索1.2.3.4
谢谢
答案 0 :(得分:1)
使用GNU grep
:
grep -Po '^version=\K.*'
-P
启用PCRE正则表达式,-o
仅用于显示匹配的内容,而不是整行,而\K
元字符指定不显示前面的内容。
使用sed
:
sed -n 's/^version=\(.*\)/\1/p'
-n
禁用自动打印,然后替换命令将仅通过捕获组的一端替换“ version = [...]”行。替换仅在第二行有效,第二行触发p
指令以打印(已转换的)行。
答案 1 :(得分:1)
您可以使用:
grep version file | cut -d\= -f2