gpt4 book ai didi

bash - 如何在 Ubuntu 上使用 bash 脚本读取 txt 文档中的值?

转载 作者:行者123 更新时间:2023-12-04 19:20:05 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Parsing variables from config file in Bash

(7 个回答)


8年前关闭。




我是 bash 脚本的新手,我的任务是读取配置文件的第一行,
就是这样……我想要……

假设“sample.conf”是文件,在文件中有一行..
像这样,

webURL: "http://www.sampledomain:8080" 

我想要的是,我需要获取 webURL 的值,即“ http://www.sampledomain:8080”,那么如果 URL 不等于“ http://www.sampledomain:8080”,我需要用正确的值更改它。希望你能帮助我,任何帮助将不胜感激。

谢谢你。

最佳答案

使用awk像这样:

URL=$(awk -F\" '/^webURL/{print $2}' sample.conf)

echo $URL
http://www.sampledomain:8080
$()意思是“将运行封闭命令的结果放入变量 URL”。 awk然后将字段的分隔符设置为双引号。然后它在您的文件中查找以“webURL”开头的行,当它找到它时,它会输出第二对双引号之间的所有内容,即行上的字段 2。

编辑回答更多问题

如果要解析出 subscribe_key来自名为 thing.java 的 java 文件中的值,看起来像这样:
subscribe_key = 'sub-f-xx-xx-xx-xx-xx'; 

你可以使用这个:
key=$(awk -F\' '/^subscribe_key/{print $2}' thing.java)

echo $key
sub-f-xx-xx-xx-xx-xx

请注意,我在 -F 之后更改了双引号。用单引号告诉 awk该字段现在用单引号分隔。

请注意,如果您在同一文件中有用单引号和双引号标记的值,您可以告诉 awk使用单引号或双引号作为字段分隔符,如下所示:
value=$(awk -F"\'|\"" '/^subscribe_key/{print $2}' yourFile)
echo $value
sub-f-xx-xx-xx-xx-xx

value=$(awk -F"\'|\"" '/^webURL/{print $2}' yourFile)
echo $value
http://www.sampledomain:8080

关于bash - 如何在 Ubuntu 上使用 bash 脚本读取 txt 文档中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23005503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com