Eliminar lineas de archivo CSV por criterio
Marcos Ramirez
mramireza en armada.cl
Mie Feb 2 15:12:19 CLST 2011
On Wed, 2011-02-02 at 15:00 -0300, Rodrigo Ruiz Fuentes wrote:
> Estimad en s,
> la situación es la siguiente, tengo un archivo grande en formato CSV,
> separado por puntos y comas (;) y delimitado por comillas dobles ("), en
> los campos 4 y 5 vienen latitudes y longitudes respectivamente, a veces
> el dato viene mal y vacío, o sea ""... necesito revisar el archivo y
> eliminar las lineas que en el campo 4 y 5 sean "" (vacías).
> Me indicaron que con sed podía hacer eso, algo logré, sin embargo hay
> mas campos que si pueden ser vacíos, pero no se debe eliminar la línea
> completa, entonces ahí es el problema, no sé como indicar que verifique
> la posición 4 y 5 solamente.
si entiendo bien, quieres eliminar todas las lineas donde el campo 4 ó
el campo 5, o bien, esten vacios, o solo tengan un par de ""
Si es asi, te deberia servir algo como
egrep -v -e '^([^;]*;){3,4}\"?\"?;' archivo
Saludos
--
Marcos Ramirez <mramireza en armada.cl>
Documento PUBLICO
Más información sobre la lista de distribución Linux