comm: Compara archivos ordenados línea por línea en Unix/Linux

comm: Compara archivos ordenados línea por línea en Unix/Linux

El comando comm es una herramienta poderosa en Unix y Linux que te permite comparar dos archivos ordenados línea por línea. Su principal utilidad radica en mostrar las líneas que son comunes a ambos archivos, así como las líneas únicas de cada uno. Esta versatilidad lo convierte en una herramienta esencial para diversas tareas de comparación y análisis de datos.

En este artículo, te guiaremos a través de las diferentes opciones y ejemplos de uso del comando comm, explorando su sintaxis, opciones y ejemplos de aplicación para que puedas utilizarlo con confianza en tus tareas de administración de sistemas, análisis de datos y desarrollo.

Sintaxis básica del comando comm

El comando comm tiene una sintaxis simple y directa. La forma básica del comando se compone de los siguientes elementos:


comm [OPCIONES] ARCHIVO1 ARCHIVO2

Donde:

  • [OPCIONES] son los parámetros opcionales que modifican el comportamiento del comando.
  • ARCHIVO1 y ARCHIVO2 son los nombres de los archivos que se van a comparar.

Opciones del comando comm

comm ofrece tres opciones para personalizar su salida:

  • -1: Suprime la impresión de la columna que contiene las líneas únicas del primer archivo (ARCHIVO1).
  • -2: Suprime la impresión de la columna que contiene las líneas únicas del segundo archivo (ARCHIVO2).
  • -3: Suprime la impresión de la columna que contiene las líneas comunes a ambos archivos.

Ejemplos de uso del comando comm

A continuación, te presentamos algunos ejemplos de cómo usar comm en diferentes escenarios:

1. Mostrar líneas comunes y únicas


comm archivo1.txt archivo2.txt

Este comando mostrará tres columnas separadas por tabulaciones:

  • Columna 1: Líneas únicas del archivo1.txt.
  • Columna 2: Líneas únicas del archivo2.txt.
  • Columna 3: Líneas comunes a ambos archivos.
LEER:  ipcalc: Manipulación Sencilla de Direcciones IP en Linux

2. Mostrar solo líneas comunes


comm -12 archivo1.txt archivo2.txt

Esta combinación de opciones elimina las columnas con las líneas únicas, mostrando únicamente la columna que contiene las líneas comunes a ambos archivos.

3. Mostrar solo líneas únicas del primer archivo


comm -2 archivo1.txt archivo2.txt

Esta opción suprime la columna con las líneas únicas del segundo archivo, mostrando solo las líneas únicas del primer archivo.

4. Mostrar solo líneas únicas del segundo archivo


comm -1 archivo1.txt archivo2.txt

De forma similar al ejemplo anterior, esta opción suprime la columna con las líneas únicas del primer archivo, mostrando solo las líneas únicas del segundo archivo.

Aplicaciones del comando comm en la práctica

El comando comm tiene aplicaciones prácticas en diversos ámbitos, incluyendo:

  • Administración de Sistemas:
    • Comparar archivos de configuración para identificar diferencias y actualizarlos.
    • Verificar la integridad de archivos de registro al comparar versiones.
  • Análisis de Datos:
    • Identificar duplicados y valores únicos en conjuntos de datos.
    • Comparar resultados de diferentes análisis para determinar diferencias.
  • Desarrollo:
    • Comparar versiones de código fuente para identificar cambios realizados.
    • Buscar errores de sintaxis o errores de lógica al comparar archivos de código.

Ejemplos de código con comm

Veamos algunos ejemplos de cómo se puede integrar comm en scripts de Shell para realizar tareas de análisis de datos:

«`bash

!/bin/bash

Comparar dos archivos y mostrar las líneas comunes

comm archivo1.txt archivo2.txt > comunes.txt

Mostrar solo las líneas únicas del primer archivo

comm -2 archivo1.txt archivo2.txt > unicas_archivo1.txt

Eliminar duplicados de un archivo

sort archivo.txt | comm -12 – archivo.txt > sin_duplicados.txt
«`

Resumen del comando comm

El comando comm es una herramienta versátil para comparar archivos ordenados línea por línea en Unix/Linux. Su capacidad para mostrar líneas comunes y únicas lo convierte en un recurso valioso para la administración de sistemas, el análisis de datos y el desarrollo. Dominar el uso de comm te permite realizar comparaciones de archivos de forma eficiente y precisa, mejorando tu flujo de trabajo en diversas tareas de desarrollo y administración.

LEER:  Find Command en Linux: Guía Completa con Ejemplos