Por ello a la hora de buscar los archivos que usaban una función, etc, era una autentica tortura, así que desarrollé un script en Python para hacer búsquedas de texto en archivos dentro de un servidor linux.
#!/usr/bin/env python
import commands
import sys
"Busca in python"
numberParams=len(sys.argv)
if(numberParams>1):
findTxt='find . -type f'
if(numberParams>2):
findTxt+='|egrep "'
for i in range(len(sys.argv)):
if(i>1):
findTxt+=sys.argv[i]
if(i+1<numberParams):
findTxt+='|'
findTxt+='"'
find=commands.getoutput(findTxt)
for value in find.split('n'):
value2=commands.getoutput('grep -nHi "'+sys.argv[1]+'" '+value)
if value2!='':
print value2
else:
print "Please, busca.py 'searchString' [typeFile typeFile ...]"
La forma de usarlo es la siguiente:
python busca.py 'texto a buscar' [php inc html ...]
Por ejemplo, para buscar el texto include dentro de archivos php e inc en un directorio tecleamos lo siguiente:
python busca.py 'include' php inc
Vamos a explicarlo un poco mejor:
- busca.py es el nombre que le he dado a mi script (se podría llamar de cualquier otra forma).
- 'include' es la cadena de texto a buscar.
- Después de la cadena de texto y separado por espacios ponemos todos los tipos de archivos en los que queremos buscar nuestra cadena de texto.
- Busca en el directorio actual.
- Si tenemos el archivo busca.py en otro directorio diferente al que queremos buscar, no situamos en el directorio a buscar y escribimos la ruta a busca.py, por ejemplo:
python ~/busca.py 'include' php inc
Podéis descargaros el código en mi repositorio de git https://github.com/fjnavarro/Busca.py
Espero que os sirva.
No hay comentarios:
Publicar un comentario