Comando para eliminar caracteres corruptos en UTF-8 bash

por | 24 abril, 2025

Limpiar archivo.csv de caracteres corruptos en UTF-8

Si archivo.csv se supone que está en UTF-8 pero tiene errores, puedes limpiarlo así:

1. Borrar caracteres corruptos en UTF-8:

iconv -f utf-8 -t utf-8//IGNORE archivo.csv -o archivo_limpio.csv

Esto:

  • Trata el archivo como UTF-8.
  • Elimina caracteres inválidos.
  • Guarda el resultado limpio en archivo_limpio.csv.

2. Verifica que el archivo limpio esté en UTF-8:

file -i archivo_limpio.csv

Debe mostrar algo como:

archivo_limpio.csv: text/plain; charset=utf-8

3. Opcional: Eliminar saltos de línea estilo Windows (CRLF)

dos2unix archivo_limpio.csv

Esto convierte las líneas al estilo Linux (LF).

4. (Opcional) Buscar líneas con caracteres especiales no ASCII

grep -P -n '[^\x00-\x7F]' archivo_limpio.csv

Esto te mostrará las líneas con caracteres fuera del rango ASCII, como acentos, eñes, símbolos, etc.