Este tutorial es sobre cómo hacer una búsqueda difusa de archivos en Linux.Haremos todo lo posible para que entienda esta guía.Espero que te guste este blogCómo hacer una búsqueda difusa de archivos en Linux. Si su respuesta es afirmativa, compártala después de leer esto.
Compruebe cómo hacer una búsqueda difusa de archivos en Linux
Fzf es una herramienta general de línea de comandos para buscar caracteres difusos.Es similar a grep.Es una herramienta de línea de comandos multiplataforma que le ayuda a encontrar y abrir archivos rápidamente.Además, es de código abierto, portable y no tiene dependencias.
Soporta el plugin Vim/Neo vim, los atajos de teclado y el autocompletado difuso.Se puede utilizar con cualquier lista: archivos, historial de comandos, procesos, nombres de host, marcadores, commits de Git, etc.
Cómo hacer una búsqueda aproximada de archivos en Linux
- Las personas que están acostumbradas a un entorno de línea de comandos probablemente estén familiarizadas con el concepto de filtros Unix.Es cuando se juntan varias utilidades independientes en una tubería para producir el resultado deseado paso a paso.Por ejemplo, esta canalización produce una lista de cadenas:
- $ yes | head -10 | awk ‘{ print NR, NR % 2 == 0 ?"Odd Couple" }'
- 1 impar2 par3 impar4 par5 impar6 par7 impar8 par9 impar10 par
- Cada programa actúa como un filtro.En términos sencillos, fzf es un filtro más de Unix.Lee líneas desde stdin, lanza un diálogo de navegación interactivo y, finalmente, escribe los elementos seleccionados en stdout.El punto clave, y la diferencia con herramientas como GNU find, es su cuadro de diálogo interactivo del Finder que filtra instantáneamente los elementos a medida que se escribe.
- Puede que no parezca demasiado práctico hasta ahora, pero el principal caso de uso de fzf es la búsqueda de archivos en la línea de comandos.Gracias a la concordancia difusa y a la información instantánea, estarás a unos pocos caracteres de encontrar el archivo correcto, sin importar lo perdido que estés en la jerarquía de directorios.No es necesario volver al gestor de archivos, recorrer la jerarquía de directorios, copiar la ruta de un archivo y pegarla de nuevo en el shell.Compare los flujos de trabajo del "gestor de archivos" y del "fzf" a continuación.
- fzf admite la coincidencia difusa, por lo que puede escribir varios caracteres seguidos y coincidirá con las líneas con esos caracteres dispersos en la cadena.También puede anteponer un término de búsqueda con una comilla simple, como ‘cadena, para optar por las coincidencias exactas únicamente, o ejecutarlo como fzf -exact .
- No admite expresiones regulares ni patrones globales, por lo que el patrón *.sh no funcionaría.Pero manténgalo simple: la productividad y la velocidad son su objetivo hoy.No tiene tiempo libre para componer y escribir expresiones regulares correctas.En su lugar, escriba varias palabras, o incluso partes de palabras, delimitadas por un espacio, y eso cubriría más del 90% de los casos de uso.¡Para el 10% restante, utilice ^ y $ para hacer coincidir el inicio y el final de la cadena respectivamente, y utilice !para negar la coincidencia.
- Imprimir los archivos seleccionados en una línea de comandos no es muy útil, por lo que la búsqueda suele combinarse con alguna acción adicional.Por ejemplo, puede abrirlo con Vim o canalizar los elementos seleccionados al siguiente programa.
- # Abrir el archivo en un Vimvim -o `fzf`
- # Imprime la información de cada archivo seleccionadofzf | xargs ls -l
Palabras finales: Cómo hacer una búsqueda difusa de archivos en Linux
Espero que entiendas este artículoCómo hacer una búsqueda difusa de archivos en LinuxSi su respuesta es no, entonces puede preguntar cualquier cosa a través de la sección del foro de contacto relacionada con este artículo.Y si su respuesta es afirmativa, comparta este artículo con su familia y amigos.