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" <[EMAIL PROTECTED]>
To: "Javier Ruano" <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]> 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
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]