Suprime el nombre de archivo de la salida de sha512sum


11

Tal vez sea una pregunta trivial, pero en la manpágina no encontré algo útil. Estoy usando Ubuntu y bash.

La salida normal para sha512sum testfilees

<hash_code>  testfile

¿Cómo suprimir la salida del nombre de archivo? Me gustaría obtener solo

<hash_code>

2
Necesita ayuda de otras herramientas, comosha512sum testfile | awk '{print $1}'
cuonglm

Respuestas:


17

No hay una forma de suprimir eso, pero dado que SHA es siempre una sola palabra sin espacios, puede hacer:

sha512sum testfile | cut -d " " -f 1 

o eg

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


1

Tal vez solo agregue un alias en su ~/.profileforma de cortar el primer argumento según Anthony para ayudar como una solución permanente,

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

Para que funcione, obviamente tendríamos que ejecutarlo una vez como, . .profileen ~.

Ahora poner solo sha <file_name>produciría la forma en que lo deseas.


1
Debe citar $1, de lo contrario, proporciona agujeros de seguridad en su función unix.stackexchange.com/q/171346/38906
cuonglm

-1

También me sentí frustrado por el formato sha? Sum stdout;

sha512sum | tr " " "\n" | head -n 1
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.