fd – Alternativa simple y rápida al comando de búsqueda

fd es una herramienta de línea de comandos para encontrar archivos en el sistema de archivos. Esta herramienta es similar al comando de búsqueda en Linux, pero fd es más rápido y fácil de usar. No es tan potente como el comando de búsqueda, pero proporciona la funcionalidad básica del comando de búsqueda de forma sencilla. Veamos las características de la herramienta fd.

Características

  • Sintaxis simple, es decir, fd PATTERN
  • Admite el uso de expresiones regulares
  • Utiliza diferentes colores para resaltar diferentes tipos de archivos
  • De forma predeterminada, ignora los archivos y directorios ocultos.
  • Ignora patrones de tu .gitignore,
  • Salida rápida debido al recorrido de directorios en paralelo.

Ahora veamos la instalación de la herramienta fd

Instalación

La herramienta fd está disponible en todos los administradores de paquetes de Linux. Utilice uno de los siguientes comandos según su sistema para instalar la herramienta fd:

Para Debian/Ubuntu/Kali Linux:

sudo apt install fd-find

Para Fedora:

sudo dnf install fd-find

Para Linux alpino

apk add fd

Para Arch Linux:

pacman -S fd

Para macOS con Homebrew:

brew install fd

Para macOS con 

sudo port install fd

Para Windows con Scoop

scoop install fd

Para ventanas con Chocolatey:

choco install fd

Para FreeBSD

 pkg install fd-find

Para instalar fd usando npm use el siguiente comando:

npm install -g fd-find

Uso

Ahora veamos cómo usar el comando fd.

Búsqueda sencilla con fd

La búsqueda de archivos más básica con fd es buscar un patrón específico con el comando fd. Para buscar un patrón con el comando fd, solo mencione un patrón que debería ser parte del nombre del archivo que tenemos que buscar. Aquí hay un ejemplo:

find lvm

fd busca el patrón proporcionado en el directorio actual de forma recursiva.

Búsqueda de expresiones regulares

Cada patrón citado se trata como una expresión regular en el comando fd. Para encontrar los archivos que terminan con la string «se», use el siguiente comando

fd '.*s3$'

Especificación del directorio raíz

Si desea buscar el archivo desde el otro directorio como directorio de origen, es decir, el fd comenzará a buscar recursivamente desde esa carpeta mencionada. Aquí hay un ejemplo:

fd profile /etc/

En el comando anterior, proporcionamos /etc/ como la carpeta raíz.

Listar todos los archivos recursivamente

Para enumerar todos los archivos de forma recursiva en el directorio actual, use el comando fd.

fd 

Para listar todos los archivos en el otro directorio, use un patrón comodín como . o ^ mencione la ruta del directorio:

fd . /src/

Búsqueda de una extensión de archivo en particular

Para buscar los archivos que tienen las extensiones de archivo específicas, use la opción -e con fd y mencione el tipo de extensión de archivo.

find -e md

También podemos usar la opción -e para encontrar el patrón específico con la extensión

fd -e js app

Búsqueda de un nombre de archivo en particular

Para buscar exactamente el patrón de búsqueda provisto, use la opción -g o –glob con el comando fd:

fd -g libc.so /usr

Archivos ocultos e ignorados

De forma predeterminada, la herramienta fd no muestra los archivos y directorios ocultos. Para buscar el patrón en carpetas ocultas, use las opciones ocultas

fd -H pre-commit

Si está trabajando con el repositorio de git, entonces fd no incluirá carpetas que coincidan con los archivos .gitingore. Para habilitar la búsqueda en la carpeta y los archivos en el archivo .gitignore, use la opción –no-ignore o -I:

fd -I abbrev

Coincidencia de la ruta completa

De forma predeterminada, el fd coincidió solo con los nombres de archivo con patrón para coincidir con la ruta completa usando la opción -p o –full-path:

Ejecución de comandos

Podemos usar el comando fd para hacer más cosas además de encontrar el patrón. También podemos ejecutar los comandos con el comando fd. Hay dos opciones proporcionadas por el fd para ejecutar el comando

  • -x / –exec: esta opción ejecuta el comando en cada resultado generado por el comando fd.
  • -X / –exec-batch: esta opción ejecutará un comando solo una vez.

Ejemplo con la opción -x:

Para encontrar y formatear los archivos .cpp o .h con el formato clang, podemos usar el siguiente comando:

fd -e h -e cpp -x clang-format -i

Ejemplo de opción -X:

Para abrir todos los archivos en el directorio actual en vim, use el siguiente comando:

fd  -X vim

Marcador de posición en el comando Fd

Los marcadores de posición en los comandos fd se pueden usar para manejar de manera más eficiente el comando con la opción -x. El siguiente es el comando que se usa para convertir archivos *.jpg en archivos *.png.

fd -e jpg -x convert {} {.}.png

En el comando anterior, {} es el marcador de posición que indica el resultado de la búsqueda y {.} esta opción es similar a {} pero el marcador de posición {.} indica el resultado de la búsqueda sin la extensión del archivo.

Los siguientes son los marcadores de posición que se pueden usar con las opciones -x o -X:

  • {}: este es un marcador de posición que se reemplazará con la ruta del resultado de la búsqueda (archivos/perfil.jpg).
  • {.}: este es un marcador de posición que se reemplazará con la ruta del resultado de búsqueda pero sin extensión (archivos/perfil)
  • {/}: este es un marcador de posición que se reemplazará con el nombre base del archivo (perfil.jpg)
  • {//}: este es un marcador de posición que se reemplazará con la ruta principal detectada (archivos/)
  • {/.}: este es un marcador de posición que se reemplazará con el nombre de archivo sin la extensión (perfil)

Exclusión de archivos o directorios específicos

Si desea excluir el resultado venido del comando fd, use la opción -E con el comando fd. Para buscar todos los archivos ocultos y excluir los directorios .git, puede usar el siguiente comando:

fd -H -E .git 

Para excluir las unidades montadas de la búsqueda, podemos usar el siguiente comando:

fd -E /mnt/external-drive …

Para excluir archivos de forma permanente, cree el archivo .fdignore en el directorio de inicio y coloque los archivos que se ignorarán en ese archivo.

touch  ~/.fdignore
echo  /mnt/external-drive >> ~/.fdignore

Para excluir los archivos de forma permanente con la ubicación global de los archivos que se ignorarán, colóquelos en el archivo ~/.config/fd/ignore.

Eliminación de archivos

Para eliminar los archivos que tienen extensión .cpp con el comando fd en el directorio actual, podemos usar el siguiente comando

 fd -e cpp  -X rm

Si desea eliminar los archivos de forma interactiva, use la opción -i con la opción -X

 fd -e cpp  -X rm -i

Para conocer todas las opciones del comando fd, use la opción –help con el comando fd:

fd --help

Para saber más sobre el comando fd, lea la página del manual de fd.

man fd

Publicación traducida automáticamente

Artículo escrito por nishant0073 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *