我有一个包含下面一行的文件。
ARG VERSION="6.0.0" // Here 6.0.0 is the version and could be any number.
我需要提取此值6.0.0并将其存储为shell变量,以便以后在构建中使用。
有没有办法做到这一点?
答案 0 :(得分:0)
sed -nE 's/ARG VERSION=\"(.*)\"/\1/p' <file_with_string>
可能有效。
在这种情况下,我们捕获双引号之间的内容,选择第一个捕获组(\1
)和print(p
)
答案 1 :(得分:0)
请您尝试以下。
awk 'match($0,/ARG VERSION="[^"]*/){print substr($0,RSTART+13,RLENGTH-13)}' Input_file
说明: :为此添加了详细说明。
awk ' ##Starting awk program from here.
match($0,/ARG VERSION="[^"]*/){ ##Using match function to match regex ARG VERSION=" till " here.
print substr($0,RSTART+13,RLENGTH-13) ##Printing sub-string of current line starting point is RSTART ending point is RLENGTH.
}
' Input_file ##Mentioning Input_file name here.