bash - 根据特定条件从文件中分配 BASH 变量

标签 bash shell awk

最后一行包含数据的配置文件,我希望将=号右侧的所有内容分配到一个变量中,以便稍后在脚本中显示和调用。

示例:/path/to/magic.conf:

foo
bar
ThisOption=foo.bar.address:location.555

在 bash shell 脚本中读取文件最后一行并将所有内容分配到等号右侧的最佳方法是什么?在本例中,foo.bar.address:location.555

最后一行始终包含我想要定位的内容,并且文件中只有一个 = 符号恰好是最后一行。

Google 和这里​​的搜索使用 sed/awk 产生了许多接近但非相关的结果,但我无法准确地找到我正在寻找的结果。

最佳答案

使用sed:

variable=$(sed -n 's/^ThisOption=//p' /path/to/magic.conf)
echo "The option is: $variable")

这可以通过查找并删除行开头的 ThisOption= 标记来实现,然后p打印结果。

关于bash - 根据特定条件从文件中分配 BASH 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31463870/

相关文章:

python - 如何在 PyCharm 终端中激活 virtualenv?

swift - 如何在 mac os x 应用程序中通过 shell 命令访问文件?

regex - 如何从两个文件中读取内容并合并到 bash shell 中的第三个文件

file - 如何打印分隔类型文件中特定行的特定字段

linux - 使用保存在文本中的名称创建多个文件

bash - 如何验证 bash 脚本中的 curl 请求?

linux - Plink > 没有返回换行符

linux - 如何使用新文件夹将子目录文件夹复制到新目录?

bash - 重用或重复管道输入作为命令中的参数(给出的示例)

bash - 在变量中搜索实例 ID 的所有出现