Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo utilizar la instrucción for en el shell para buscar todos los archivos en dos carpetas al mismo tiempo y compararlos? Espero que un experto pueda responder esta pregunta.

¿Cómo utilizar la instrucción for en el shell para buscar todos los archivos en dos carpetas al mismo tiempo y compararlos? Espero que un experto pueda responder esta pregunta.

No se consideran las subcarpetas.

Primero, use el comando ls para enumerar todos los archivos en una carpeta (use una matriz para registrar los nombres de los archivos).

Directorio CD 1

declare -a array=(`ls `)

Luego use un bucle for para comparar los elementos de la matriz uno por uno al enumerar otro carpeta Haz una comparación.

Directorio 2 del CD

Para el archivo 2 en *

Do

isFound=0

Para el archivo $ 1 en {array[*]}

Hacer

if[" $ archivo 2 " = " $ archivo 1 "] entonces

Diff- y-; suprimir líneas comunes directorio 1/$ archivo 1 directorio 2/$ archivo2.

isFound=1

El barco no corre con los gastos de carga

Completado

[$ is found-eq 0] amp; ampEcho "¡El archivo $file2 en el directorio 2 no existe en el directorio 1!"

Completado

Por supuesto, hay otra situación que no he abordado, que es el contenido en el directorio 1 No existe en el directorio 2.