从文件中提取字符串并将其存储在变量中

问题描述 投票:-2回答:2

我有一个包含下面一行的文件。

ARG VERSION="6.0.0" // Here 6.0.0 is the version and could be any number.

我需要提取此值6.0.0并将其存储为Shell变量,以便以后在构建中使用。

有没有办法做到这一点?

shell awk sed text-parsing
2个回答
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.

0
投票

sed -nE 's/ARG VERSION=\"(.*)\"/\1/p' <file_with_string>可能有效。

在这种情况下,我们捕获双引号之间的内容,选择第一个捕获组(\1)和print(p

© www.soinside.com 2019 - 2024. All rights reserved.