[eside-ghost] scripts...
Ender
eduvedder en terra.es
Mar Feb 21 16:44:54 CET 2006
Aupa!
El mar, 21-02-2006 a las 16:14 +0100, txuruland en yahoo.es escribió:
> Un poco de man antes de liarse con whiles e historias ...
> "-R, -r, --recursive
Exacto!
pero no lo uso por 2 razones:
El -r no sirve en Solaris y algunos otros unix.
Si quieres un -r pero con mariconadas (por ejemplo solo algunos
ficheros, solo algunos directorios o algo asi) o hacer un tratamiento
más complejo cada vez que encuentre el patrón (generar un listado, mover
el fichero a otro sitio...) no me sirve.
Eso sí, si estoy en linux y el grep -R es exactamente lo que quiero sí
que lo uso.
Saludos!!
> Read all files under each directory, recursively; this is
> equivalent to the -d recurse option."
>
> grep -r patron * -> esto recorre recursivamente todos los ficheros desde el
> directorio en el que estes
>
>
>
> On Tuesday 21 February 2006 15:Ender wrote:
> > Aupa!
> >
> > Si quieres buscar de forma recursiva.... por ejemplo en ficheros x
> >
> > find /directorio -type f | while read linea; do
> > if grep "PATRON" $linea > /dev/null 2>$1; then
> > #patron encontrado, haz lo que quieras aqui
> > # el fichero lo tiene la variable $linea
> > echo "Patron encontrado en $linea..."
> > fi
> > done
> >
> > # nota: uso while en vez de for por si los ficheros tienen espacios en
> > los nombres.
> >
> > # nota 2: si solo quieres buscar ficheros xml por ejemplo el find podria
> > ser...
> >
> > find /directorio -type f -name "*.xml"
> >
> > jugar con la potencia del find (-mindeppth, -maxdepth, -exec, ...) me
> > parece bastante útil en vez de usar ls, aunque si realmente solo quieres
> > un ls se puede usar.
> >
> > El mar, 21-02-2006 a las 15:47 +0100, halls escribió:
> > > puedes hacer algo asi
> > >
> > > for F in *
> > > do
> > > cat $F | grep patron
> > > done
> > >
> > > el * ese siempre hace referencia a una lista de parametros, separada
> > > con espacio, por ejemplo
> > >
> > > for F in 1 2 3
> > > do
> > > echo $F
> > > done
> > >
> > > pos te imaginas XD
> > >
> > > en nuestro caso * es el listado de ficheros del directorio actual...
> > > podrias poner
> > >
> > > for F in /directorio/ke/me/de/la/gana/*
> > >
> > > etc...
> > >
> > >
> > >
> > > lo se, me explico como las setas... pero hago lo k puedo XD
> > >
> > > alejop!
> > >
> > > PD: acabo de releer tu email... si lo k kieres es sacar el nombre de
> > > solo akellos ficheros, puedes, dentro del bucle poner algo asi: if [ !
> > > "$(cat $F|grep patron)" = "" ]; then do echo $F; fi
> > >
> > >
> > > El día 21/02/06, kapi59ttp <kapi59ttp en euskalnet.net> escribió:
> > > Wenas tardes!!!
> > > Me gustaria crear un script que mire el contenido de todos los
> > > ficheros que existen en un directorio y compruebe que si
> > > alguno de ellos cumple un patron dado. He intentado hacer algo
> > > por el estilo
> > >
> > > listar ----> sacar el contenido de cada fichero ----> ver si
> > > cumple un patron ---> sacar el nombre del fich.
> > >
> > > ls | cat ??? | grep patron ...
> > >
> > > En eso he pensado basicamente, pero estoy un poko...se podria
> > > hacer con awk???
> > > Alguna idea para hacer un bucle y recorrer el resutaldo del
> > > ls???.
> > >
> > > Eskerriko asko.
> > >
> > > _______________________________________________
> > > eside-ghost mailing list
> > > eside-ghost en deusto.es
> > > https://listas.deusto.es/mailman/listinfo/eside-ghost
> > >
> > >
> > > _______________________________________________
> > > eside-ghost mailing list
> > > eside-ghost en deusto.es
> > > https://listas.deusto.es/mailman/listinfo/eside-ghost
> >
> > _______________________________________________
> > eside-ghost mailing list
> > eside-ghost en deusto.es
> > https://listas.deusto.es/mailman/listinfo/eside-ghost
> _______________________________________________
> eside-ghost mailing list
> eside-ghost en deusto.es
> https://listas.deusto.es/mailman/listinfo/eside-ghost
Más información sobre la lista de distribución eside-ghost