/

18 febrero, 2022

Eliminar filas con un campo duplicado en csv con awk

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.

Comparte este artículo y sé parte de la corriente de creatividad, innovación y diseño en las redes sociales.

Si te ha inspirado lo que has leído, compártelo con tu mundo.

LinkedIn
Facebook
WhatsApp
Skype
Telegram
Email
Twitter