gpt4 book ai didi

bash - 如果不存在使用逗号值将内容附加到文件

转载 作者:行者123 更新时间:2023-11-29 09:52:01 25 4
gpt4 key购买 nike

我们有一个名为 parameters.txt 的文件,其中包含以逗号分隔的值:

db.hostname,db.username,db.password,db.url,db.status,codesettingsA, codesettimgsB

此外,我们还有一个名为 properties.txt 的主文件,其中包含行格式

db.hostname=hostname
db.username=username
db.password=password

我需要在 parameters.txt 中传递逗号分隔值,并检查它是否存在于 properties.txt 中。如果它不存在,它应该打印 properties.txt 的底部

例如,在 properties.txt 中:db.url、db.status、codesettingsA 和 codesettimgsB 不存在。但是,我是从 parameters.txt 传递的。它应该被追加,结果在 properties.txt 中应该是这样的:

db.url
db.status
codesettingsA
codesettimgsB

注意:已经在属性文件中为 db.hostname=hostname、db.username=username 和 db.password=password 声明了值。我从参数文件中传递 db,hostname,db.username,db.password。因此,即使在逗号之后也应该忽略这些值,并且不应该打印 db,hostname,db.username,db.password

有什么方法可以打印在properties.txt的底页吗?能否提供示例代码?

最佳答案

试试这个:

IFS=',' read -ra params < parameters.txt
for param in "${params[@]}"; do
grep "$param" properties.txt || echo "$param" >> properties.txt
done

参数被解析并存储到params 数组中。

对于每个参数,循环检查它是否存在于 properties.txt 中,如果不存在,则将其附加到文件底部。

关于bash - 如果不存在使用逗号值将内容附加到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36722365/

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