Estoy intentando encontrar un archivo usando los comandos buscar y localizar.
locate
El comando es más rápido pero requiere actualizar la slocate
base de datos. Y find
el comando es más lento pero no requerirá ninguna actualización.
Estoy intentando utilizar una especie de prd
sistemas.
¿Alguien podría sugerir un comando que sea más rápido y pueda usarse con usuarios de nivel inicial para mi script de shell, por favor?
Respuesta1
Teniendo en cuenta que los archivos están en algunos subdirectorios anidados a no más de dos o tres de profundidad, puede usar un comando (posiblemente) más rápido como
(cd /path/to/directory; ls *.txt */*.txt */*/*.txt)
Como de alguna manera lograste responder tu propia pregunta, usa updatedb
pero conacelerar la localización, como:
$ updatedb -o /home/rahul/my.db -U /home/rahul/ -e "not/in/this/directory1 not/in/this/directory2"
$ locate -d /home/rahul/my.db ### point locate to use your db
verhombre actualizadopara obtener ayuda al respecto.
Según la sugerencia de @cas, alternativamente, redirija la salida find
a un archivo y ejecútelo grep
repetidamente. El texto sin formato ocupa más espacio que una updatedb
base de datos, pero su búsqueda es mucho más rápida.
Por ejemplo:
find /path/to/directory > /tmp/files.list
grep -i file.xml /tmp/files.list
grep -i anotherfile.xml /tmp/files.list