如何在bash中使用冒号从文本文件读取

时间:2019-05-09 13:33:49

标签: linux bash shell automation

我将用户名和密码存储在带双点的.txt文件中,我想从中读取并将用户名和密码存储在变量中,并将后半部分存储在变量中。

  

示例:kmyghz1:aa12345bb12345cckmyghz1

cat ./examples/secrets.txt | while  IFS=':' | read variable1 variable2 do \
        echo $variable1 \
        echo $variable2 \
done

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

IFS=:本身不是命令;这是read命令的命令前分配。放下分隔符的管道符号(|)。您还缺少do关键字前面的分号或换行符。

while IFS=: read variable1 variable2; do
    echo "$variable1"
    echo "$variable2"
done < ./examples/secrets.txt

反斜杠是不必要的,参数扩展应始终用引号引起来。

答案 1 :(得分:0)

谢谢您的输入,这是对我有用的正确答案!

while IFS=: read -r userName password
do
 echo "$userName"
 echo "$password"
done < ./instabut/examples/secret.txt