6 meilleurs outils CLI pour rechercher des données de texte brut en utilisant des expressions régulières
- 4321
- 1171
- Zoe Dupuis
Ce guide fait la visite de certains des meilleurs outils de ligne de commande qui sont utilisés pour rechercher des chaînes ou des modèles correspondants dans les fichiers texte. Ces outils sont généralement utilisés aux côtés d'expressions régulières - raccourcies comme Expirat - qui sont des chaînes uniques pour décrire un modèle de recherche.
Sans plus encore ADO, plongeons-nous dans.
1. Commande grep
L'outil d'utilité Grep est venu en premier lieu - est un acronyme pour Impression d'expression régulière globale, est un puissant outil de ligne de commande qui est utile lors de la recherche d'une chaîne spécifique ou d'un modèle dans un fichier.
Grep expédié par défaut avec des distributions Linux modernes et vous donne la flexibilité de renvoyer divers résultats de recherche. Avec Grep, vous pouvez effectuer un vaste tableau de fonctionnement tel que:
- Rechercher des chaînes ou des modèles de correspondance dans un fichier.
- Rechercher des chaînes ou des modèles de correspondance dans les fichiers gzipped.
- Compter le nombre de correspondances de cordes.
- Imprimez les numéros de ligne qui contiennent la chaîne ou le motif.
- Recherchez récursivement la chaîne dans les répertoires.
- Effectuer une recherche inversée (je.e. Affichez les résultats des chaînes ne correspondant pas aux critères de recherche).
- Ignorer la sensibilité à la caisse lors de la recherche de chaînes.
La syntaxe pour utiliser le grep La commande est assez simple:
$ Fichier de modèle Grep
Par exemple, pour rechercher la chaîne 'Linux'Dans un fichier, disons, Bonjour.SMS Tout en ignorant la sensibilité des caisses, exécutez la commande:
$ grep -i linux bonjour.SMSRechercher une chaîne dans un fichier
Pour obtenir plus d'options que vous pouvez utiliser avec grep, Lisez simplement notre article selon lequel des exemples de commandes GREP plus avancées.
2. commande SED
SED - Bref pour Rédacteur en chef - est un autre outil de ligne de commande utile pour la manipulation du texte dans un fichier texte. SED recherche, filtre et remplace les chaînes dans un fichier donné de manière non interactive.
Par défaut, sed La commande imprime la sortie à Stdout (Standard), ce qui implique que le résultat de l'exécution est imprimé sur le terminal au lieu d'être enregistré dans un fichier.
La commande SED est invoquée comme suit:
$ sed -options commands [fichier à modifier]
Par exemple, pour remplacer toutes les instances de 'Unix' avec 'Linux', Invoquez la commande:
$ sed 'S / Unix / Linux' Hello.SMSRemplacer la chaîne dans un fichier
Si vous souhaitez rediriger la sortie au lieu de l'imprimer sur le terminal, utilisez le signe de redirection (>)
comme montré.
$ sed 'S / Unix / Linux' Hello.TXT> Sortie.SMSRediriger la sortie vers le fichier
La sortie de la commande est enregistrée à la sortir.SMS fichier au lieu d'être imprimé à l'écran.
Pour consulter plus d'options qui peuvent être utilisées, consultez à nouveau les pages de l'homme.
$ man sed
3. Commande ACK
Ack est un outil de ligne de commande rapide et portable écrit en perl. Ack est considéré comme un remplacement convivial pour utilitaire GREP et les sorties entraînent une manière visuellement attrayante.
Ack Commande recherche dans le fichier ou le répertoire des lignes qui contiennent la correspondance des critères de recherche. Il met alors en évidence la chaîne correspondante dans les lignes.
Ack a la capacité de distinguer les fichiers en fonction de leurs extensions de fichiers, et dans une certaine mesure, le contenu des fichiers.
Syntaxe de commande ACK:
$ ack [options] modèle [fichier…] $ ack -f [options] [répertoire…]
Par exemple, pour vérifier le terme de recherche Linux, courir:
$ ack linux bonjour.SMSVérifiez une chaîne dans un fichier
L'outil de recherche est assez intelligent et si aucun fichier ou répertoire n'est fourni par l'utilisateur, il recherche le répertoire actuel et les sous-répertoires pour le modèle de recherche.
Dans l'exemple ci-dessous, aucun fichier ou répertoire n'a été fourni, mais ACK a automatiquement détecté le fichier disponible et recherché le modèle de correspondance fourni.
$ ack linuxRechercher la chaîne dans un répertoire
À installer ack Sur votre système, exécutez la commande:
$ sudo apt install ack-grep [sur Debian / Ubuntu] $ sudo dnf installer ack-grep [sur centos / rhel]
4. Commande awk
Awk est une langue de script à part entière et également un outil de traitement de texte et de manipulation de données. Il recherche des fichiers ou des programmes contenant le modèle de recherche. Lorsque la chaîne ou le motif est trouvé, awk prend des mesures sur le match ou la ligne et imprime les résultats sur Stdout.
Le Awk Le motif est enfermé entre les accolades bouclées tandis que l'ensemble du programme est enfermé en citations uniques.
Prenons l'exemple le plus simple. Supposons que vous imprimez la date de votre système comme indiqué:
$ dateVérifier la date du système Linux
Supposons que vous ne vouliez imprimer que la première valeur, qui est le jour de la semaine. Dans ce cas, tuyau la sortie dans awk comme montré:
$ Date | awk 'print $ 1'
Pour afficher les valeurs ultérieures, séparez-les à l'aide d'une virgule comme indiqué:
$ Date | awk 'print $ 1, $ 2'
La commande ci-dessus affichera le jour de la semaine et la date du mois.
Exemples de commande awkPour obtenir plus d'options que vous pouvez utiliser avec awk, Lisez simplement notre série de commandes AWK.
5. Chercheur en argent
Le chercheur en argent est un outil de recherche de code de la plate-plate-forme et d'ouvrir le code similaire à ack mais avec un accent sur la vitesse. Il vous permet de rechercher facilement une chaîne spécifique dans les fichiers dans les plus brefs délais:
Syntaxe:
$ AG Options Search_Pattern / Path / To / Fichier
Par exemple, pour rechercher la chaîne 'Linux'Dans un fichier Bonjour.SMS Invoquez la commande:
$ Ag Linux Bonjour.SMSTrouver une chaîne dans le fichier
Pour des options supplémentaires, visitez les pages de l'homme:
$ man ag
6. Ripgrep
Enfin, nous avons l'outil de ligne de commande Ripgrep. Ripgrep est un utilitaire multiplateforme pour rechercher des modèles regex. C'est beaucoup plus rapide que tous les outils de recherche mentionnés antérieurs et recherche récursivement les répertoires pour les modèles de correspondance. En termes de vitesse et de performances, aucun autre outil ne se démarque Ripgrep.
Par défaut, ripgrep Sautera les fichiers binaires / fichiers et répertoires cachés. Soyez également informé que par défaut, il ne recherchera pas les fichiers qui sont ignorés par .gitignore /.ignorer/.rgignore des dossiers.
Ripgrep vous permet également de rechercher des types de fichiers spécifiques. Par exemple, pour limiter votre recherche à Javascrip Fichiers exécutés:
$ rg -tsj
La syntaxe pour l'utilisation de Ripgrep est assez facile:
$ rg [Options] modèle [chemin…]
Par exemple. Pour rechercher des instances de la chaîne 'Linux' Dans les fichiers situés à l'intérieur du répertoire actuel, exécutez la commande:
$ rg LinuxRechercher une chaîne dans un fichier
À installer ripgrep Sur votre système, exécutez les commandes suivantes:
$ sudo apt installer ripgrep [sur Debian / Ubuntu] $ sudo pacman -s ripgrep [sur Arch Linux] $ sudo zypper installer ripgrep [sur Ouverte] $ sudo dnf installer ripgrep [sur Centos / Rhel / Fedora]]
Pour des options supplémentaires, visitez les pages de l'homme:
$ man rg
Ce sont quelques-uns des outils de ligne de commande les plus utilisés pour la recherche, le filtrage et la manipulation du texte dans Linux. Si vous avez d'autres outils que vous pensez que nous avons laissé de côté, faites-le nous savoir dans la section des commentaires.
- « Tilix - un nouvel émulateur de terminal de carrelage GTK 3 pour Linux
- Comment installer Pop!_Os sur votre ordinateur »