Hay varias instalaciones de Java en mi sistema, algunas instaladas silenciosamente mediante IDE, y quería saber dónde están. Entonces pensé en usarlos locate
para encontrarlos. Mi primer intento de
locate java
Tuvo varios miles de resultados .*java.*
.
¿Hay alguna manera de restringir la ubicación para buscar solo archivos con un nombre exacto? No es una ruta que contenga Java. No archivos que contengan Java como parte de su nombre.
PD: Tuve un problema similar antes, así que ignore la parte de Java y trátelo como un problema de búsqueda de archivos. También podría tratarse de encontrar todas las apariciones de gcc
.
Respuesta1
De man locate
:
Para buscar un archivo con el nombre exacto
NAME
(no*NAME*
),
utilicelocate -b '\NAME'
locate -b '\java'
-b
- Haga coincidir solo el nombre base con los patrones especificados.
Respuesta2
Con la mayoría de locate
las implementaciones:
locate '*/java'
Deberia trabajar.
Cuando el argumento no contiene comodines, el argumento se toma como una cadena para buscar en las rutas de los archivos.
Cuando contiene comodines, el comodín debe coincidir con las rutas completas. Así que aquí, cualquier camino que termine en /java
.
Respuesta3
find
puede ser una mejor manera de localizarJavaarchivos con nombre.
find . -type f -name *java*
Si quisieras seguir usando localizar, podrías usar locate -b
o podrías usar
locate java | grep java$