Programación web

Eliminar filas con un campo duplicado en csv con awk

Equipo Kreactiva 1 min de lectura

Hoy vamos a ver como eliminar filas con un campo duplicado en csv con awk.

Si trabajas con grandes volúmenes de datos se puede dar fácilmente situación de que necesites eliminar todas las filas (menos la primera) de un csv en las que coincida solamente el valor de una de las celdas de las columnas.

Esto se puede hacer con awk desde linux o mac

El comando es el siguiente:

awk -F, '!seen[$1]++' csv_origen.csv > csv_destino.csv

Con esto se generará un csv de destino en los que se han eliminado todas las filas con el valor de la columna 1 duplicado (mantendrá solamente una fila con ese valor).

Si es el valor de otra columna simplemente cambia $1 por el valor que sea:

Campo en columna 2:

awk -F, '!seen[$2]++' csv_origen.csv > csv_destino.csv

Campo en columna 3:

awk -F, '!seen[$3]++' csv_origen.csv > csv_destino.csv

Y así sucesivamente.

Programación web

Artículos relacionados

priorización en HTTP/2

En qué consiste la priorización en HTTP/2

El protocolo HTTP/2, desde su estandarización en 2015, ha marcado un hito en la evolución de la web, ofreciendo mejoras significativas sobre su predecesor HTTP/1.1 en términos de rendimiento, seguridad y eficiencia. Una…

4 min de lectura
Qué es el DOM

¿Qué es el DOM y cómo reducir los DOM de gran tamaño?

En el desarrollo web, entender y optimizar el Document Object Model (DOM) es fundamental para mejorar la experiencia del usuario, la velocidad de carga de la página y, en última instancia, el éxito de un sitio web. Este…

4 min de lectura