我有一个linux配置文件,其格式如下:
VARIABLE=5753
VARIABLE2=""
....
我怎样才能得到f.e.使用标准linux工具或正则表达式的VARIABLE2的值? (我需要解析文件中的目录路径)。提前谢谢。
答案 0 :(得分:5)
eval $(grep "^VARIABLE=" configfile)
将选择该行并在当前bash上下文中对其进行评估,并设置变量值。完成此操作后,您将拥有一个名为VARIABLE
的变量,其值为5753
。如果配置文件中不存在这样的行,则不会发生任何事情。
答案 1 :(得分:4)
$> cat ./text
VARIABLE=5753
VARIABLE2=""
使用perl
正则表达式grep
可以使用 lookbehind 运算符匹配这些值。
$> grep --only-matching --perl-regex "(?<=VARIABLE2\=).*" ./text
""
对于VARIABLE
:
$> grep --only-matching --perl-regex "(?<=VARIABLE\=).*" ./text
5753
答案 2 :(得分:4)
您可以使用source
(a.k.a。.
)命令将文件中的所有变量加载到当前shell中:
$ source myfile.config
现在您可以访问文件中定义的变量值:
$ echo $VARIABLE
5753