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