Bash:从标记后的文件读取值

Bash:从标记后的文件读取值

我有一个如下所示的文件:

Variable1 { value1 }
Variable2 { value2 }
...

有没有办法编写一个脚本,至少检索“{}”之间的值?

谢谢!

答案1

您可以使用许多工具来实现此目的,例如:

grep

grep -oP '(?<={ ).*(?= })' FILENAME

awk

awk -F '({ | })' '{print $2}' FILENAME

sed

sed 's/.*{ \(.*\) }/\1/' FILENAME

所有上述命令都有如下输出:

value1
value2

您还可以通过重定向或使用tee命令将这些命令输出保存到另一个文件。

例如:

grep -oP '(?<={ ).*(?= })' FILENAME > OUTPUT

或者:

grep -oP '(?<={ ).*(?= })' FILENAME | tee OUTPUT

相关内容