我有一个linux配置文件,其格式如下:
VARIABLE=5753
VARIABLE2=""
....
Run Code Online (Sandbox Code Playgroud)
如何使用标准的linux工具或正则表达式获得VARIABLE2的fe值?(我需要解析文件中的目录路径).提前致谢.
您可以使用source(又名.)命令将文件中的所有变量加载到当前 shell 中:
$ source myfile.config
Run Code Online (Sandbox Code Playgroud)
现在您可以访问文件内定义的变量的值:
$ echo $VARIABLE
5753
Run Code Online (Sandbox Code Playgroud)
eval $(grep "^VARIABLE=" configfile)
Run Code Online (Sandbox Code Playgroud)
将选择该行并在当前bash上下文中对其进行评估,并设置变量值.执行此操作后,您将拥有一个以VARIABLEvalue 命名的变量5753.如果配置文件中不存在这样的行,则不会发生任何事情.
$> cat ./text
VARIABLE=5753
VARIABLE2=""
Run Code Online (Sandbox Code Playgroud)
随着perl正则表达式grep可以匹配使用这些值回顾后 操作。
$> grep --only-matching --perl-regex "(?<=VARIABLE2\=).*" ./text
""
Run Code Online (Sandbox Code Playgroud)
而对于VARIABLE:
$> grep --only-matching --perl-regex "(?<=VARIABLE\=).*" ./text
5753
Run Code Online (Sandbox Code Playgroud)