Linux/Unix Shell Scripting - Script sencillo de busqueda

 
Vista:

Script sencillo de busqueda

Publicado por David C (2 intervenciones) el 21/10/2005 11:55:43
Hola foreros!

Necesito hacer un script, que tome como parametro una cadena, y busque, desde el directorio actual hacia abajo, todos los ficheros que contengan esa cadena. Se puede hacer eso?? Alguien podria pegarme algo de codigo? es que no se ni por donde empezar. Muchas 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:Script sencillo de busqueda

Publicado por n0str0m0 (180 intervenciones) el 21/10/2005 13:12:49
Pues no te voy a pegar código, pero aquí va una idea.

- Coges el parámetro en $1
- Haces un ls -R (recursivo) para ir obteniendo todo el árbol de directorios. Algo como:

for fichero in `ls -R` do..... y cada fichero ahora lo tratas como $fichero

Haces un grep de cada uno de esos ficheros para ver si encuentra $1. Algo como grep $fichero $1.

Luego esto lo puedes hacer más o menos bonito con mensajes por pantalla y demás, pero a grandes rasgos, eso es lo que se me ocurre.

Salu2
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

RE:Script sencillo de busqueda

Publicado por David C. (2 intervenciones) el 28/10/2005 09:25:10
Bueno, pues ya estoy con ello (si, ya se que he tardado varios dias :( )

for $fichero in `ls -R` do
grep $1 $fichero;
done

pero no me termina de funcionar (bueno, ni empieza la verdad) vamos a seguir investigando a ver...pero se aceptan mas sugerencias. Gracias. :)
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

RE:Script sencillo de busqueda

Publicado por n0str0m0 (180 intervenciones) el 28/10/2005 13:03:18
Claro, porque como te dije, lo que te di fue una pauta, y no el script completo.

Lo que tienes que hacer es recoger el resultado del grep en una variable. Si el resultado es igual a nada (cadena vacía) es que el fichero no tiene esa cadena que buscas. En caso contrario, la tiene.

Cómo meter el resultado de un comando en una variable es algo que ya se ha explicado aquí.

Un consejo. Píllate una guía de scripting y comienza a practicar con lo básico.

Salu2
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

Error de sintaxis

Publicado por n0str0m0 (180 intervenciones) el 28/10/2005 13:06:02
De hecho, ahora que lo veo tienes tb. un error de sintaxis. Sobra el $ del fichero del for. fichero es la variable y para hacer referencia al valor, se pone el $ delante.

Me reitero. Empieza por lo básico. www.tldp.org

Salu2
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