cómo encontrar apariciones de un archivo usando localizar

cómo encontrar apariciones de un archivo usando localizar

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 locatepara 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*),
utilice locate -b '\NAME'

locate -b '\java'
  • -b- Haga coincidir solo el nombre base con los patrones especificados.

Respuesta2

Con la mayoría de locatelas 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

findpuede ser una mejor manera de localizarJavaarchivos con nombre.

find . -type f -name *java*

Si quisieras seguir usando localizar, podrías usar locate -bo podrías usar

locate java | grep java$

información relacionada