Comparar el contenido de dos directorios en una Mac usando diff
Tabla de contenido:
Si desea ver la diferencia entre dos carpetas en una Mac, o comparar el contenido de dos directorios, puede hacerlo fácilmente con la ayuda del poderoso comando diff.
Este tutorial le mostrará cómo comparar dos directorios, y el contenido de esos directorios, usando la Terminal. Este enfoque de línea de comando generará un archivo que contiene las diferencias precisas que se muestran entre dos carpetas de destino.
Para lograr esta comparación, usaremos la herramienta de línea de comando 'diff', diff está disponible en todas las Mac, junto con Linux y otros sistemas operativos Unix, por lo que esta es efectivamente una solución multiplataforma para comparar directorios. Diff es bastante simple de usar para comparar fácilmente el contenido de dos directorios cualquiera, simplemente siga la sintaxis que se detalla a continuación.
Cómo comparar el contenido de dos directorios con diff
Para comenzar, inicie la Terminal en Mac OS (que se encuentra en /Aplicaciones/Utilidades/) y luego use la siguiente sintaxis de comando:
diff -rq directorio1 directorio2
Presione regresar cuando haya especificado los directorios apropiados para comparar. Esto ejecuta el comando diff comparando el directorio 1 y el directorio 2 (si tiene una carpeta con un espacio en el nombre del archivo, simplemente póngalo entre comillas así: "carpeta uno"). Usamos el indicador -rq porque -r significa que es recursivo incluir subdirectorios, y -q simplifica la salida del comando a solo las diferencias que se muestran.
La salida de muestra del comando puede ser similar a la siguiente:
$diff -rq directorio1 directorio2
Solo en el directorio 1: ejemplo221.txt
Solo en el directorio 1: SuperSecretDifferentFile.rtf
Solo en el directorio 2: AmazingScript.py
Solo en el directorio 2: MyFavoriteSong.mp3
Solo en el directorio 2: MyFavoriteSpecialMovie.mp4
También puede ir un paso más allá y redirigir la salida de ese comando a un archivo, digamos que se llama diferencias.txt:
diff -rq directorio1 directorio2 >> diferencias.txt
Aquí hay un ejemplo y cómo se verá la impresión real. Digamos que estamos comparando carpetas llamadas "música antigua" y "música nueva", y queremos que la salida del comando muestre la diferencia entre esos dos directorios en el archivo llamado "carpetas de música".txt” entonces se usaría la siguiente sintaxis de comando:
"diff -rq música antigua>> carpetas de música.txt"
Ahora busque en el directorio de trabajo actual el archivo que acaba de crear al enviar el comando diff, en este caso el archivo es musicfolders.txt y el contenido se puede ver en cualquier editor de texto, línea de comando o de lo contrario. Al abrir el archivo de texto, verá algo como esto:
Solo en música antigua: canción1.mp3 Solo en música antigua: canción2.mp3 Solo en música antigua: canción3.mp3 Solo en música nueva: instrumental1.mp3 Solo en música nueva: instrumental1.mp3
Si desea ver el archivo desde la línea de comandos, intente:
más carpetas de música.txt
De lo contrario, navegue hasta el directorio que lo contiene y ábralo en su editor de texto favorito.
Si prefiere no crear un archivo de texto con los cambios, simplemente omita la redirección de salida del comando. Sin embargo, es posible que desee canalizar la salida a algo como "más" para que sea más fácil de escanear:
"diff -rq música antigua>"
El comando diff es bastante poderoso y hay muchas otras opciones disponibles con él, use el comando man diff para obtener detalles completos sobre cómo usar diff, así como la miríada de funciones disponibles.
Vale la pena mencionar nuevamente que este comando funcionará en Mac OS X, todas las versiones, así como en la mayoría de los sistemas operativos basados en Unix.