替换部分文件

替换部分文件

我对 Linux 世界还是个新手。我有一个包含用户名和密码的文件,用于浏览器身份验证。例如。:

user:ioeuwz5rf (Password generated with "openssl passwd ABCXYZ")

现在,我希望这些密码每周或其他时间自动更改。

我尝试使用包含以下内容的change.sh 文件:

newpw="`openssl passwd ABCXYZ`"
sed -i 's/WhatToReplace/'$newpw'/g' test.txt

这将用生成的密码替换单词“WhatToReplace”。但我想自动完成。有没有办法替换第二部分(用户:ioeuwz5rf)与随机密码。

我想要为每个用户生成一个新的随机密码,并且应该将其保存到一个文件(例如 newpw.txt)中,我可以从中生成邮件。

答案1

与其替换 中的所有行newpw.txt,不如通过迭代旧文件中的用户名来创建新文件,例如:

cut -d: -f1 pw.txt | while read -r user; do
    echo "$user:$(openssl passwd ABCXYZ)"
done > newpw.txt
mv newpw.txt pw.txt

相关内容