Arrays bash脚本-如何有效地迭代文本文件中的键值对列表以加载变量
迭代此列表的最佳方式是什么?(键以“:”分隔,值以新行分隔) 我有一个在文本文件中包含以下值的文件:Arrays bash脚本-如何有效地迭代文本文件中的键值对列表以加载变量,arrays,bash,unix,for-loop,Arrays,Bash,Unix,For Loop,迭代此列表的最佳方式是什么?(键以“:”分隔,值以新行分隔) 我有一个在文本文件中包含以下值的文件: cl1:AbC!123 cl2:EfF{3201p cl3:Zrq12@1q5t 基本上是:key:value 我有一个需要执行的函数(一次一个) 对于列表中的每个键:值 其中: key=clnmbr value=pw 功能: myfunction() { mycount=$(PGPASSWORD=${pw} psql -h myhost-1-${clnmbr}.com -U ma
cl1:AbC!123
cl2:EfF{3201p
cl3:Zrq12@1q5t
基本上是:key:value
我有一个需要执行的函数(一次一个)
对于列表中的每个键:值
其中:
key=clnmbr
value=pw
功能:
myfunction()
{
mycount=$(PGPASSWORD=${pw} psql -h myhost-1-${clnmbr}.com -U masteruser -d dev -p 5439 -t -c "select count(datname) from pg_database;")
}
所以基本上我想循环列表中的每一行并执行我的函数。最好的方法是什么
谢谢。顺便说一句,我几乎可以肯定你在描述什么是什么。你说它是key:value
和key=pw
,但是这个键有点像cl1
或cl2
——不是一个好密码——而且这个值看起来更像是password-y。你说它是key:value
和key=pw
,但是这个键有点像cl1
或cl2
——不是一个好密码——而且这个值看起来更像是password-y。好吧,我明白了,但是我怎么把它作为一个文件读入呢?你喜欢这个工作吗而IFS=:read-r
?你想把放在完成后的“myfile.lst”
,以重定向整个列表——如果你把它放在read
之后,它只会一遍又一遍地重读第一行。明白了吗。它起作用了。谢谢好的,有点理解,但我如何把它作为一个文件读入呢?你喜欢这个工作吗而IFS=:read-r
?你想把放在完成后的“myfile.lst”
,以重定向整个列表——如果你把它放在read
之后,它只会一遍又一遍地重读第一行。明白了吗。它起作用了。谢谢
while IFS=: read -r clnmbr pw; do
myfunction
done