Red de conocimiento informático - Aprendizaje de programación - Shell de Linux, cómo asignar el valor md5 de un archivo a una matriz es similar a a[1]=md5sum a.txt, pero no se puede asignar ni resolver.

Shell de Linux, cómo asignar el valor md5 de un archivo a una matriz es similar a a[1]=md5sum a.txt, pero no se puede asignar ni resolver.

Tenga en cuenta que este comando hace que aparezca una comilla encima de la tecla de tabulación, no una comilla simple.

Explicación:

Por ejemplo, el resultado de md5sum a.txt es.

3 a5 cacda 937 FBE 71 fcb 72 cfe 4904 dee 8 a txt

El frente es el valor MD5 y a.txt es el nombre del archivo que especificó. Necesitamos tomar la parte anterior, hay dos métodos:

Método uno, que es la respuesta de Xie Huahe:

a[1]= `MD 5 sum a. - d ' '-f 1 '

Donde -d de corte especifica un espacio como delimitador, -f1 es la primera cadena después del delimitador especificado, que es el valor MD5 que queremos.

Método 2:

' m D5 sum a . awk-F ' ' { print $ 1 } '

awk's-F '' es Especificar. un espacio como delimitador, especifique un espacio como delimitador y la primera cadena después del delimitador especificado es el valor MD5 que queremos.

Además de utilizar comillas invertidas "`", las asignaciones también son como esta, por ejemplo:

a[1]= $(m D5 sum a . txt | cut-d ' ' - f 1)

a[1]= $(MD 5 suma a . txt | awk-F ' ' { print $ 1 } ')