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>
BowPark
fuente
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/  -//'
Anthon
fuente
1
sha512sum testfile | awk '{print $1}'
Kurian
fuente
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.

Borato de Keyshov
fuente
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
usuario254289
fuente