¿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.
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.