Suprime o nome do arquivo da saída do sha512sum

5

Talvez seja uma pergunta trivial, mas na página man não encontrei algo útil. Estou usando o Ubuntu e bash .

A saída normal para sha512sum testfile é

<hash_code>  testfile

Como suprimir a saída do nome do arquivo? Eu gostaria de obter apenas

<hash_code>
    
por BowPark 25.02.2016 / 14:41

4 respostas

7

Não há uma maneira de suprimir isso, mas como o SHA é sempre uma única palavra sem espaços, você pode fazer:

sha512sum testfile | cut -d " " -f 1 

ou, por exemplo,

< testfile sha512sum | sed 's/  -//'
    
por 25.02.2016 / 14:49
1
sha512sum testfile | awk '{print $1}'
    
por 25.02.2016 / 15:19
1

Talvez apenas adicionar um alias no seu ~/.profile de acordo com a maneira como o Anthon corta o primeiro argumento ajudaria como uma solução permanente,

sha()
{
sha512sum -- "$1" | cut -d " " -f 1
}

Para que funcione, é óbvio que precisaríamos executá-lo uma vez, como . .profile in ~ .

Agora, colocar apenas sha <file_name> renderia da maneira que você deseja.

    
por 25.02.2016 / 15:04
-1

Eu também estava frustrado com o formato sha ?? sum stdout, eu usei;

sha512sum | tr " " "\n" | head -n 1
    
por 05.10.2017 / 21:16