String 如何获取字符串中指定单词的下一个单词

String 如何获取字符串中指定单词的下一个单词,string,bash,String,Bash,我到处搜索,但我找不到任何合适的答案。但如果已经有人回答了,我道歉 我有一个bash脚本,它连接到不同的oracle数据库以执行不同的操作任务。问题是我想散列我的密码,并将它们存储在用户旁边的字符串中,如下所示 DBAUTH="user1 user1password user2 user2password ... userN userNpassword" 我需要一个函数来获取用户名并将密码返回给我(下一个单词) 关于。这对我很有用: 使用关联数组而不是字符串: DBAUTH=([user1]=

我到处搜索,但我找不到任何合适的答案。但如果已经有人回答了,我道歉

我有一个bash脚本,它连接到不同的oracle数据库以执行不同的操作任务。问题是我想散列我的密码,并将它们存储在用户旁边的字符串中,如下所示

DBAUTH="user1 user1password user2 user2password ... userN userNpassword"
我需要一个函数来获取用户名并将密码返回给我(下一个单词)

关于。

这对我很有用:


使用关联数组而不是字符串:

DBAUTH=([user1]=user1password [user2]=user2password ... [userN]=userNpassword)
然后您可以使用
${DBAUTH[$user]}
获取用户名的密码。

与awk在一行中:

#!/bin/bash
user="user1"
file="filepath"

awk -F"\"" '{ print $2 }' $file | awk -v username="$user" -F" " '{ for(i=1;i<=NF;i++) if($i == username ) print $(i+1); }'
#/bin/bash
user=“user1”
file=“filepath”

awk-F“\”{print$2}'$file | awk-v username=“$user”-F”“”{for(i=1;我为什么不使用用户名为索引的关联数组?非常感谢您提供的解决方案。不知道关联数组。非常有用。谢谢…谢谢您的解决方案谢谢您的解决方案。非常有用。
DBAUTH=([user1]=user1password [user2]=user2password ... [userN]=userNpassword)
#!/bin/bash
user="user1"
file="filepath"

awk -F"\"" '{ print $2 }' $file | awk -v username="$user" -F" " '{ for(i=1;i<=NF;i++) if($i == username ) print $(i+1); }'