我有一个像这样的格式的Linuxconfiguration文件:
VARIABLE=5753 VARIABLE2="" ....
如何使用标准的Linux工具或正则expression式来获得VARIABLE2的fe值? (我需要从文件parsing目录path)。 提前致谢。
$> cat ./text VARIABLE=5753 VARIABLE2=""
用perl
正则表达式, grep
可以使用lookbehind操作符来匹配这些值。
$> grep --only-matching --perl-regex "(?<=VARIABLE2\=).*" ./text ""
而对于VARIABLE
:
$> grep --only-matching --perl-regex "(?<=VARIABLE\=).*" ./text 5753
eval $(grep "^VARIABLE=" configfile)
将选择行并在当前bash上下文中评估它,设置变量值。 这样做后,您将有一个名为VARIABLE
值为5753
的变量。 如果配置文件中不存在这样的行,则不会有任何反应。
您可以使用source
(aka .
)命令将文件中的所有变量加载到当前shell中:
$ source myfile.config
现在您可以访问文件中定义的变量的值了:
$ echo $VARIABLE 5753