FreeBSD 9: ¿Cómo localizar un nombre de archivo exacto?

FreeBSD 9: ¿Cómo localizar un nombre de archivo exacto?

Intentando usar locateel comando para encontrar una coincidencia exacta para el patrón dado. Sin embargo, el resultado muestra todos los archivos coincidentes.

Por ejemplo: quiero encontrar un binario llamado:nodo

Pero me da todas las coincidencias que contienen esta palabra:

server2# locate node
/usr/share/man/man9/getnewvnode.9.gz
/usr/share/man/man9/ieee80211_amrr_node_init.9.gz
/usr/share/man/man9/ieee80211_dump_node.9.gz
/usr/share/man/man9/ieee80211_dump_nodes.9.gz
/usr/share/man/man9/ieee80211_find_rxnode.9.gz
/usr/share/man/man9/ieee80211_find_rxnode_withkey.9.gz
/usr/share/man/man9/ieee80211_free_node.9.gz

Respuesta1

Si miras locate --help, puedes encontrar:

  -r, --regexp REGEXP    search for basic regexp REGEXP instead of patterns
      --regex            patterns are extended regexps

Puede utilizar -rpara proporcionar un patrón de expresión regular para locate:

locate -r /node$

El /asegura nodeestá al comienzo del nombre del archivo. El $asegura nodeestá al final del nombre del archivo. Esto te darásololos archivos que coinciden con el nombre de archivo exacto.

Si desea realizar una búsqueda que no distinga entre mayúsculas y minúsculas (coincidencias Node, NODEetc. nOdE), agregue -i:

locate -i -r /node$

Si localizar no admite expresiones regulares, puede usar grep (como lo menciona Iracicot):

locate node | grep /node$
locate -i node | grep -i /node$

Respuesta2

Puedes usar grep con localizar

server2# locate node | grep node$

El signo $ le indicará a grep que mire el final de la cadena.

Respuesta3

Deshabilite locateel glob implícito agregando su propio glob que coincida con todos los directorios:

locate */node

Desde la página de manual:

Si alguno PATTERNno contiene caracteres globales, la localización se comporta como si el patrón fuera*PATTERN*

Esta sintaxis coincidirá con un nombre completo de archivo o directorio en cualquier lugar, incluso en la raíz.

información relacionada