Cómo usar el comando Comm en Linux

Cómo usar el comando Comm en Linux
El comando Comm se usa en Linux para comparar diferentes archivos, este comando compara cada línea de los archivos y muestra las líneas únicas y las líneas comunes de los archivos en columnas separadas. La necesidad de comparación de archivos se produce principalmente a los programadores; Cuando necesitan averiguar las modificaciones realizadas en el programa a lo largo del tiempo.

En este artículo, vamos a explicar la utilización del comando de comunicación en Linux con una explicación detallada.

Cómo usar el comando comunicante en Linux

El comando Comm se puede usar para comparar dos archivos line por línea, la sintaxis general de usar el comando comm:

$ Comm [opción] file_name1 file_name2

La sintaxis del comando anterior mostrará el resultado en tres columnas; La primera columna mostrará las líneas únicas del archivo1, la segunda columna mostrará las líneas únicas del archivo2 y la tercera columna mostrará las líneas comunes de ambos archivos.

También podemos usar algunas opciones junto con el comando Comm; Algunas opciones de uso común son:

Opción Explicación
-1 No mostrará la primera columna del resultado, que contiene las líneas únicas del archivo1
-2 No mostrará la segunda columna del resultado, que contiene las líneas únicas del archivo2
-3 No mostrará la tercera columna del resultado, que contiene las líneas comunes de ambos archivos; file1 y file2
-revisar orden Verificará todas las líneas de ambos archivos se clasifican correctamente o no
-nocro No verificará el orden de clasificación y solo mostrará los resultados
-ayuda Mostrará un mensaje de mensaje de ayuda y saldrá
-versión Mostrará la versión de la información y las salidas
-total Mostrará el número total de líneas presentes en cada columna del resultado
-z, -cero -dielimitán Mostrará los archivos por separado en lugar de las columnas; El valor de cero delimiters es nulo
-salida-delimiter = [cualquier carácter] Reemplazará los "espacios" en los resultados utilizando el personaje que desea poner allí

Para comprender todas estas opciones, consideraremos dos archivos de texto con el nombre; mytestfile1.txt y mytestfile2.txt, cuyo contenido se puede mostrar utilizando los comandos:

$ Cat MytestFile1.TXT
$ Cat mytestFile2.TXT

Primero, compararemos ambos archivos utilizando el comando Comm sin ninguna opción, para este propósito, tenemos que usar el comando:

$ Comm MytestFile1.txt mytestfile2.TXT

Como sabemos, el comando Comm es aplicable en los archivos ordenados, y los archivos dados en el comando no están ordenados, por lo que generó las advertencias de "archivos no ordenados", para eliminar estos comentarios, usaremos el "-nocheck-orden" Bandera, que ignorará la comprobación del orden de clasificación y mostrará los resultados:

$ Comm-Nocheck-Order MyTestFile1.txt mytestfile2.TXT

En la imagen de arriba, hemos marcado tres columnas para una mejor comprensión de los resultados, la primera columna mostró las líneas únicas de mytestFile1.txt, que es solo "fedora", la segunda columna mostró las líneas únicas de mytestFile2.txt, que es solo "Debian", y la última columna mostró las líneas comunes de ambos archivos. Si queremos mostrar la columna 1 (líneas únicas de mytestfile1.txt) y columna 3 (líneas comunes de ambos archivos), suprimiremos la columna 2 utilizando el indicador "-2":

$ Comm -2 -Nocheck -Order MyTestFile1.txt mytestfile2.TXT

Del mismo modo, podemos suprimir ambas columnas 1, columna 2 y solo mostrar la columna 3 (que contiene las líneas comunes de ambos archivos) ejecutando el comando:

$ Comm -12 -Nocheck -Order MyTestFile1.txt mytestfile2.TXT

La salida mostró solo la tercera columna del resultado, para descubrir el número total de líneas de cada columna, use el comando:

$ Comm --total-Nocheck-Order MyTestFile1.txt mytestfile2.TXT

Para verificar si el orden de clasificación de ambos archivos está en el orden correcto o no, ejecute el comando Comm usando el indicador "-comprobar":

$ Comm --check-orden mytestFile1.txt mytestfile2.TXT

Los resultados muestran que el archivo 1 no está en orden ordenado porque los nombres de los archivos no están organizados alfabéticamente ni en orden ascendente o orden descendente, de manera similar, se utiliza el indicador "-cero-dielimitador":

$ Comm-MyTestFile1 terminado por cero1.txt mytestfile2.TXT

Del mismo modo, podemos usar el "-output-Delimiter = **" con el comando Comm para reemplazar el espacio con "Star (*)":

$ Comm --output-Delimiter = **-Nocheck-Order MyTestFile1.txt mytestfile2.TXT

Para comprobar la versión del comando comunes:

$ Comm --versión

Si desea saber más sobre el comando Comm, puede verificar su manual usando el comando:

$ hombre comm

Conclusión

Sin embargo, el comando Comm se utiliza para comparar las líneas de los archivos ordenados en Linux, también hay otras formas para comparar archivos como el comando DIFF y usar el editor VIM. El comando de comunicación es fácil de usar y recomienda dónde los archivos contienen scripts y solo se necesita una comparación más simple. En este artículo, hemos discutido el comando de comunicación y sus diversas opciones brevemente con la ayuda de ejemplos.