2014-03-19 14:08 GMT-06:00 Ricardo Garcia <
ricardojo...@gmail.com>:
> Precisamente es para aprender y familiarizarme con python y Linux porque soy
> nuevo trabajando en ellos
Perfecto, entonces con la parte de Linux ya lo tienes cubierto, al
menos puedes comenzar leyendo las páginas "man" de grep, awk, sort,
uniq. Lee con detenimiento y entiende los parámetros.
> lo que no logro hacer es que la búsqueda sea recursiva es decir busque
> dentro de sub-carpetas!
Ok, vamos por partes:
1) En principio no te recomendaría capturar los parámetros indicados a
través de la línea de comandos por medio de sys.argv, hay módulos en
Python más especializados y que terminan por mejorar tu programa y la
interacción que puede tener el usuario con tu script, lee por favor
sobre argparse[1].
2) Una vez hayas capturado el parámetro del path debes verificar que
sea un directorio y exista, para ello tienes el módulo os.path, en
particular revisa el método isdir[2].
3) Si el path es correcto a través de os.walk[3] comienza a recorrer
el árbol, walk te dará la información necesaria sobre los ficheros y
directorios hijos que necesitarás abrir y recorrer línea a línea para
encontrar tu expresión regular (ver módulo re[4]), puedes llevar un
conteo de coincidencias por archivo.
4) Prepara la salida del programa, puede ser que dependiendo de los
parámetros suministrados por el usuario la alteres. Por ejemplo, el
parámetro -r activa la muestra de resultados en forma inversa.
5) Después de terminar el script y tomes algo de confianza con el
lenguaje puedes revisar OpenHatch[5]
Espero te sirva la información,
Bienvenido a Python Venezuela.
[1]
http://docs.python.org/2/howto/argparse.html
[2]
http://docs.python.org/2/library/os.path.html#os.path.isdir
[3]
http://docs.python.org/2/library/os.html#os.walk
[4]
http://docs.python.org/2/library/re.html
[5]
https://openhatch.org/
--
Milton Mazzarri, a.k.a. [milmazz]
Usuario de GNU/Linux: #369158
http://milmazz.com.ve