一部のファイルの交換

一部のファイルの交換

私はまだLinuxの世界に慣れていません。ブラウザ認証用のユーザー名とパスワードを含むファイルがあります。例えば。 :

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

今度はこのパスワードを毎週または他の時間に自動的に変更したいと思います。

次の内容を含む Change.sh ファイルを試してみました。

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

これにより、「WhatToReplace」という単語が生成されたパスワードに置き換えられます。でも自動的にやりたいです。 2番目の部品を交換する方法はありますか(ユーザー: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

おすすめ記事