karlinux

Comandos Shell #2

FZF

Que es fzf? fzf no es mas que un buscador de archivos para la terminal, pero super vitaminado. En primer lugar o bien lo instalamos desde su repositorio de github o bien lo instalamos desde la paqueteria de nuestro sistema,

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

Para despues trabajar con fzf podemos hacerlo de muchas maneras diferentes, bien podemos introducir en nuestra terminal fzf y ya está, nos hara un indexado de todos nuestros archivos y simplemente introduciendo caracteres comenzará la busqueda, o bien podemos crear cadenas de texto para afinar la misma:

find * -type f -name "*.doc" | fzf > selected

Si lanzamos el comando desde mis documentos me mostrara solo los documentos con extension .doc Nos podemos mover por los resultados o bien con CTRL + H,J,K,L, es decir, esilo VIM o bien con las flechas del teclado. Si pulsamos las teclas ALT+c tenemos una peculiaridad muy grata y es que nos muestra los directorios del directorio donde estamos y si seleccionamos uno y le damos a enter nos iremos directamente a éste. Genial no? Si lanzamos el comando tldr fzf, (así vamos aprendiendo de lo que vamos viendo), nos da algún otro ejemplo de la potencia de este gran amigo, que incluso podemos utilizarlo con los procesos en marcha:

fzf

Command-line fuzzy finder.
Similar to sk.
More information: https://github.com/junegunn/fzf.

 - Start fzf on all files in the specified directory:
   find path/to/directory -type f | fzf

 - Start fzf for running processes:
   ps aux | fzf

 - Select multiple files with Shift + Tab and write to a file:
   find path/to/directory -type f | fzf --multi > path/to/file

 - Start fzf with a specified query:
   fzf --query "query"

 - Start fzf on entries that start with core and end with either go, rb, or py:
   fzf --query "^core go$ | rb$ | py$"

 - Start fzf on entries that not match pyc and match exactly travis:
   fzf --query "!pyc 'travis"

Espero que os haya ayudado a ver una herramienta productiva y si quereis mas informacion pasaros ppor su pagina de GITHUB

Articulos