Unix - Concatenar grep´s

 
Vista:

Concatenar grep´s

Publicado por susana (4 intervenciones) el 26/09/2006 10:07:11
Hola.
Estoy intentando dentro de un script, concatenar varios grep en una misma sentencia, pero parece ser que no los coge.
La sentencia es la siguiente:

cat $HOME/USERS/susana/OUTPUT/AUNABILL/`date '+%d%m%Y'`/$factura | grep '^............................................022'|
grep '^............................................068'|
grep '^............................................ ' > $HOME/USERS/susana/OUTPUT/AUNABILL/`date '+%d%m%Y'`/file_resto.txt

Si solo pongo un grep, funciona bien, pero al hacer varios criterios con el grep, los ignora.

¿Podéis ayudarme, por favor?

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Concatenar grep´s

Publicado por Antoni Masana (21 intervenciones) el 26/09/2006 13:11:50
El problema es que buscas algo imposible, me explico:

El primer GREP selecciona las lineas que en la posicion 45 hay la cadena "022", y las encuentra si las hay.

El segundo GREP selecciona las lineas resultantes del primer GREP que en la posicion 45 hay la cadena "068" y no encuentra ninguna porque en esa posicion solo hay la cadena "022".

El tercer GREP selecciona las lineas resultantes del segundo GREP que en la posicion 45 hay la cadena " " y no encuentra ninguna porque en esa posicion solo hay la cadena "022".

Dicho de otra forma y con un ejemplo: buscas las palabras que empiecen por B y de la lista de palabras que empiezan por B quieres buscar las palabras que empiecen por M

La solucion seria algo asi:

ruta=$HOME/USERS/susana/OUTPUT/AUNABILL

fch_i=${ruta}/`date '+%d%m%Y'`/$factura
fch_o=${ruta}/`date '+%d%m%Y'`/file_resto.txt

Patron="^............................................022|^............................................068|^............................................ "

cat $fch_i | egrep $Patron >$fch_o

Esto selecciona las lineas que tengan una de las tres cadenas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar