Suprimir o nome do arquivo da saída de sha512sum


11

Talvez seja uma pergunta trivial, mas na manpágina 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>

2
Você precisa de ajuda de outras ferramentas, comosha512sum testfile | awk '{print $1}'
cuonglm

Respostas:


17

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

sha512sum testfile | cut -d " " -f 1 

ou por exemplo

< testfile sha512sum | sed 's/  -//'


1

Talvez apenas adicione um alias ao seu modo, de ~/.profileacordo com o Anthon de cortar o primeiro argumento, ajudaria como uma solução permanente,

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

Para fazê-lo funcionar, obviamente precisaríamos executá-lo uma vez como, . .profileem ~.

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


1
Você precisa citar $1, caso contrário, você fornece falhas de segurança em seus função unix.stackexchange.com/q/171346/38906
cuonglm

-1

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

sha512sum | tr " " "\n" | head -n 1
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.