Substituir partes de arquivos

2

Sou bastante novo no mundo linux. Eu tenho um arquivo contendo nomes de usuário e senhas, para autenticações de navegador. por exemplo:

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

Agora, eu quero que essas senhas sejam alteradas automaticamente toda semana ou qualquer outra coisa.

Eu tentei com um arquivo change.sh contendo:

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

Isso substituiria a palavra "WhatToReplace" pelo pw gerado. Mas eu quero fazer isso automaticamente. Existe uma maneira de substituir a segunda parte (usuário: ioeuwz5rf ) com a senha aleatória.

Eu quero uma nova senha aleatória gerada para cada usuário, e isso deve ser salvo em um arquivo (newpw.txt, por exemplo), a partir do qual eu posso gerar e-mails.

    
por Manu_H 06.01.2017 / 00:26

1 resposta

2

Em vez de substituir todas as linhas em newpw.txt , seria melhor criar um novo arquivo, iterando os nomes dos usuários no antigo, por exemplo:

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