[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: {OT} gestion de archivos en bash



Muy buenas.

- Para mostrar en pantalla los que quieres eliminar:

cat archivo.txt | awk '{ if ($2 == "0.00" && $3 == "0.00") print }'

- Para mostrar los que no quieres eliminar:

cat archivo.txt | awk '{ if ($2 != "0.00" && $3 != "0.00") print }'

Puedes redirigir luego a un archivo y ya lo tienes.

Si echas un vistazo verás que se eliminarán las líneas que contengan en AMBOS campos "0.00". Si quieres eliminar las lineas en las que CUALQUIERA de los dos campos contenga "0.00", simplemente cambia el "&&" por un "||".

Personalmente te recomiendo que utilices awk cuando quieras procesar archivos de texto y necesites al menos un par de comprobaciones por linea. Aunque lo ideal es trabajar conjuntamente con todos (awk, grep, sed, cut, tr...) e incluso hacerte algun binario a tu medida, es muy divertido (y eficaz).

Saludos.

---------------------------------------------
Arnau Carrasco - http://www.arnaucarrasco.com
---------------------------------------------

----- Original Message ----- From: "user name" <someusernamehere@gmail.com>
To: "Javier Ruano" <adrakoa@es.gnu.org>
Cc: <debian-user-spanish@lists.debian.org>
Sent: Thursday, March 01, 2007 12:13 AM
Subject: Re: {OT} gestion de archivos en bash


On 2/28/07, Javier Ruano <adrakoa@es.gnu.org> wrote:
user name wrote:
> como podria eliminar algo en una cadena por ejemplo: tengo un archivo
> que es
> mas o menos asi
>
> bbdjsds dsdjsd         10.00   23.00
> dsdsdsdsds                0.00    0.00
>
>
> lo que quiero hacer es eliminar las lineas que contengan solo 0.00
> lo he intentado, pero tambien me corta las lineas en donde hay 10.00 > 1.00
o
> asi

¿Has pensado el por qué?

> alguien sabe?
1. has probado ¿?
man -k match | xargs man

2. Si eso no funciona prueba
grep -v ' 0.00' fichero.txt


si, lo he hecho asi

cat  prueba.txt | grep -v '\<0.0\>' prueba.txt > prueba.tmp





Reply to: