Existem várias maneiras de analisar o resumo real da saída de md5sum :
-
grep -E -o '[[:alnum:]]+', isso retornaria a parte alfanumérica da saídamd5sum, mas também forneceria a você quaisquer bits de nome de arquivo se presentes na saída (não no caso apresentado na pergunta, pois o nome do arquivo é-, entrada padrão ). -
cut -d ' ' -f 1, isso simplesmente retornaria o bit da saída antes do primeiro caractere de espaço. Esta é sem dúvida a maneira mais comum de obter a string de digestão MD5 "nua". - Variações no tema
cutincluemawk '{ print $1 }'e coisas semelhantes.
Para geração de senha, sugiro usar pwgen em vez de um resumo MD5, principalmente porque um resumo MD5, a menos que computado sobre dados aleatórios, não é aleatório.
Um hack seria usar algo como
tr -dc '[:alnum:]' </dev/urandom | dd bs=1 count=32 2>/dev/null
Isso extrairia um fluxo de caracteres alfanuméricos de /dev/urandom e dd reduziria o fluxo após 32 desses caracteres. Em vez de dd , também é possível usar head -c 32 .
Ou usando md5sum (neste caso, mais de 1Kb de dados aleatórios de /dev/urandom ):
dd if=/dev/urandom bs=1k count=1 | md5sum | cut -d ' ' -f 1
Mas, na verdade, basta instalar e usar pwgen .
Veja também Quando usar / dev / random vs / dev / urandom