Uso locate
, grep
o find
en la línea de comandos.
Abrir Aplicaciones>Utilidades>Terminal y usar:
-
sudo locate -0 '*.txt' | xargs -0 grep WORD 2>/dev/null
Sustituir la PALABRA con la palabra que desea buscar. Este es por lejos el más rápido método.
Me gustaría recomendar para recrear la base de datos buscar primero para mejorar la precisión:
sudo /usr/libexec/locate.updatedb
Tenga en cuenta que en OS X, locate
de la base de datos es creada por el usuario nobody
. Eso significa que los archivos ocultos a nobody
no será indexado. Usted puede modificar /usr/libexec/locate.updatedb
y comentario (es decir, el prefijo #
) de esta sección:
if [ "$(id -u)" = "0" ]; then
rc=0
# 2013-03-08 jaume Correct mktemp
export FCODES=`mktemp --tmpdir updatedbXXXX`
chown nobody $FCODES
tmpdb=`su -fm nobody -c "$0"` || rc=1
if [ $rc = 0 ]; then
install -m 0444 -o nobody -g wheel $FCODES /var/db/locate.database
fi
rm $FCODES
exit $rc
fi
así que es indizado por el usuario root
(esto se aplica a OS X 10.8 (Mountain Lion), en otras versiones compatibles con OS X locate
de mayo de índice de archivos de forma diferente).
-
sudo grep -R --exclude-dir '/Volumes/<OS volume>' --exclude-dir '/Volumes/MobileBackups' --exclude-dir '/.Spotlight*' --exclude-dir '/.MobileBackups' --exclude-dir '/.DocumentRevisions*' --include '*.txt' WORD / 2>/dev/null
Sustituir la PALABRA con la palabra que desea buscar y <OS volume>
con el nombre de su volumen del sistema operativo. El grep
opciones que se utilizan son:
-R
: realiza una búsqueda recursiva en la ruta especificada, que es, en /
. Si usted busca su TimeCapsule de copia de seguridad, reemplace /
con algo como /Volumes/TimeCapsule
.
--exclude-dir
: excluye las carpetas especificadas. Como se puede ver, excluyo el centro de atención, la carpeta de Versiones y locales TimeMachine carpetas. Si desea buscar en su disco duro local sólo cuando el TimeCapsule está montada, añadir --exclude-dir /Volumes/TimeCapsule
.
--include '*.txt'
: indica grep
a la búsqueda de los archivos que coinciden *.txt
.
Además:
-
2>/dev/null
: envía los errores de a /dev/null
, de modo que usted no los ve.
-
sudo find / ! -path '/.Spotlight*' ! -path '/Volumes/<OS volume>/*' ! -path '/Volumes/MobileBackups/*' ! -path '/.MobileBackups/*' ! -path '/.DocumentRevisions*' -name *.txt -type f -exec grep -H WORD {} + 2>/dev/null
De nuevo, sustituir la PALABRA con la palabra que desea buscar y <OS volume>
con el nombre de su volumen del sistema operativo. Como antes, 2>/dev/null
envía errores a /dev/null
, de modo que usted no los ve, y si usted busca su TimeCapsule de copia de seguridad, reemplace /
con algo como /Volumes/TimeCapsule
.
El find
opciones que se utilizan son:
! -path
: excluir rutas especificadas. Si desea buscar en su disco duro local sólo cuando el TimeCapsule está montada, añadir ! -path /Volumes/TimeCapsule/*
.
-name *.txt
: búsqueda de archivos con el nombre *.txt. Como se puede ver, excluyo el centro de atención, la carpeta de Versiones y locales TimeMachine carpetas.
-type f
: busca sólo los archivos, ignorar los enlaces simbólicos, carpetas, etc.
grep -H WORD {}
: grep archivo de WORD. -H
fuerzas grep
a imprimir el nombre del archivo.
La salida de cualquiera de los comandos de arriba se parece a esto:
filename: matched line
por ejemplo, cuando la búsqueda de 'GNU':
/usr/local/share/doc/p7zip/DOCS/readme.txt:7-Zip is free software distributed under the GNU LGPL
/usr/local/share/doc/p7zip/DOCS/readme.txt:1) You can compile and use compiled files under GNU LGPL rules, since
/usr/local/share/doc/p7zip/DOCS/readme.txt: copying.txt - GNU LGPL license
/usr/local/share/doc/xz/history.txt: Alexandre Sauvé helped converting the build system to use GNU
Si quieres hacer un insensible a mayúsculas-minúsculas de búsqueda, reemplace grep
con grep -i
por encima.