░█░█░█░█░█▀█░▀█▀░░░█░█░█▀█░█▀▀░░░█░█░█▀▄░█▀█░█▀█░█▀▀ ░█▄█░█▀█░█▀█░░█░░░░█▄█░█▀█░▀▀█░░░█▄█░█▀▄░█░█░█░█░█░█ ░▀░▀░▀░▀░▀░▀░░▀░░░░▀░▀░▀░▀░▀▀▀░░░▀░▀░▀░▀░▀▀▀░▀░▀░▀▀▀
================================================================
23 Avril 2021
Dans ce post, j'aimerai partager 3 outils en ligne de commandes que j'utilise en remplacement de grep, et cat. Ces outils comportent qulques fonctions qui ont amélioré ma productivité au delà de ce que je pensais possible en utilsant de "simple" commandes dans un terminal.
fd
fd est un simple outil en ligne de commandes pour chercher des entrées dans votre système. Il est comparable à la commande par défaut find avec moins de fonctions. Alors pourquoi quelqu'un voudrait d'un outil avec mnoins de fonctions? Et la réponse est parce que ce qu'offre fd peut être suffisant pour certains et dans ce cas fd offre de très intéressantes options comme:
- une syntaxe intuitive: fd MOTIF au lieu de find -iname '*MOTIF*'
- le support de motifs en expression régulières (défaut) et basées sur glob
- fd est très rapide dû à la recherche en parallèle et transversale des répertoires
- des couleurs pour mettre en valeur les différent types de fichiers (comme avec ls)
- le support d'exécution de commandes en parallèle
- la recherche casse-sensitive par défaut. Le basculement en recherche casse-sensitive se fait automatiquement si le motif contient une majuscule
- fd ignore les répertoires et fichiers cachés par défaut
- fd ignore les motifs de .gitignore par défaut
Voilà quelques exemples de ce qu'offre fd:
Recherche simple
> fd netfl
Recherche d'expression réguiliêre
> cd /etc
> fd '^x.*rc$'
X11/xinit/xinitrc
X11/xinit/xserverrc
Spécifier le répertoire racine
> fd passwd /etc
/etc/default/passwd
/etc/pam.d/passwd
/etc/passwd
Lister tous les fichiers, récursivement
> cd fd/tests
> fd
testenv
testenv/mod.rs
tests.rs
Rechercher une extension de fichier en particulier
> cd fd
> fd -e md
CONTRIBUTING.md
README.md
Ce ne sont que quelques commandes simples que vous pouvez exécuter mais vous pouvez aller beaucoup plus loin et, par exemple, procéder à l'exécution de commande automatiques (plus de détails sur le github officiel).
ripgrep-all (rga)
rga est un autre outil en ligne de commandes qui peut remplacer le traditionnel grep puisqu'il contient la majorité des fonctions de grep tout en étant plus rapide. rga intègre ripgrep (un autre remplaçant de grep) et lui permet de chercher dans les fichiers pdf, docx, sqlite, jpg, sous-titres de films (mkv, mp4)...
- rga peut chercher des fichier de type spécifiques. Par exemple, rg -tpy foo limite la recherche aux fichiers Python et rg -Tjs foo exclu les fichiers JavaScript.
- rga supporte beaucoup de fonctions de grep, comme afficher le contexte des résultats de recherche, rechercher des motifs multiples, mettre en valeur les correspondances avec des couleurs et le support complet de Unicode. Au contraire de GNU grep, ripgrep reste rapide tout en supportant Unicode (qui est toujours activé).
- rga supporte la rercherche de fichiers compressés dans une format commun (brotli, bzip2, gzip, lz4, lzma, xz, or zstandard) avec -z/--search-zip flag.
Et il y a bien plus de puissance à découvrir sur le github offciel.
bat
bat est un remplaçant de cat. L'avantage principal de bat est qu'il supporte la mise en valeur syntaxique d'un grand nombre de language markup et de programmation. En d'autres termesd, quand vous utilisez bat le résultat est colorisé selon le language du fichier source et les lignes sont numérotées ce qui rend le tout très facile à lire.
bat peut aussi être integré avec d'autres outils comme fzf, find ou fd, ripgrep, tail, git, et xclip.
Pour en découvrir plus, allez sur le github de bat.
📬 me contacter: wwwgem@disroot.org
/system/