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.