Buscando sobre como hacer esto me tope con esto:
http://uannight.wordpress.com/2007/04/16/buscar-texto-dentro-de-ficheros-en-linux/
Y convirtiéndolo en script quedaría algo así:
#!/bin/bash
_FOLDER=$1
_PATTERN=$2
_COMMAND=`find ${_FOLDER} -exec grep -l ${_PATTERN} {} \;`
for _FILE in $_COMMAND
do
echo ${_FILE}
done
exit 0
le damos permisos de ejecución:
chmod u+x ./find.shUn ejemplo:
./find.sh /home/iban/Desktop/ asdResultado:
/home/iban/Desktop/tmp/html2.txt
/home/iban/Desktop/tmp/html.txtComo bien dice: ismaelviamontes, se puede hacer todo con grep:
#!/bin/bash
_PATTERN=$1
_FOLDER=$2
_COMMAND=`grep -r -e ${_PATTERN} ${_FOLDER}`
for _FILE in $_COMMAND
do
echo ${_FILE}
done
exit 0
;)

Pero mira que Interesante ... Gracias Zital se ve buenisimo más rápido !!! Lo probaré
soy nuevo en linux....
me pueden decir porque no usar #grep para buscar?????
al final hacen lo mismo...
#grep -r o grep -i si son varias palabras ...
ismaelviamontes tienes razón, ahora edito el post.
Se me ocurrio que con eso podia resolver mi problema posteado en:
http://www.esdebian.org/foro/30789/problema-samba-ubuntu-804
Pero en el bash me devuelve esto.
angelfire@angelfire-desktop:~$ ./find.sh / filmes
grep: /lib/udev/devices/ppp: Permiso denegado
grep: /lib/udev/devices/loop0: Permiso denegado
grep: /lib/udev/devices/kmem: Permiso denegado
_
Y se queda el cursor flasheando ahi.
De todas maneras no deja de estar interesante el script.
Bye
AngelFire
hombre es que con un usuario normal no puedes acceder a ciertas partes del sistema, pero no se te debería de bloquear, puede ser que tarde mucho y tú pienses que esta bloqueado.
Me parece que tu script es exactamente igual que usar:
grep -lre PATRON DIRECTORIO
La opción -l te evita el "for" que haces después del grep.