Rechercher des chaînes ou des modèles dans du texte brut à partir du terminal

à propos de la recherche de chaînes ou de modèles

Dans l'article suivant, nous verrons quelques outils de ligne de commande utilisés pour rechercher des chaînes ou des modèles correspondants dans des fichiers texte. Ces outils sont généralement utilisés en conjonction avec des expressions régulières, abrégées en REGEX, qui sont des chaînes uniques pour décrire un modèle de recherche.

Les expressions régulières sont des modèles utilisés pour rechercher une certaine combinaison de caractères dans une chaîne de texte. Les expressions régulières offrent un moyen très flexible de rechercher ou de reconnaître des chaînes de texte. Bien que dans les lignes suivantes, nous ne verrons pas d'expressions régulières, nous utiliserons des modèles ou des chaînes.

Rechercher des chaînes ou des modèles à partir du terminal

Commande Grep

Grep est un acronyme pour Impression d'expression régulière globale. Il s'agit d'un outil de ligne de commande puissant qui est utile lors de la recherche d'une chaîne ou d'un modèle spécifique dans un fichier. Avec grep nous pourrons utiliser un large éventail de fonctions, comme celles qu'un collègue nous a expliqué dans ce blog il y a quelque temps.

La syntaxe d'utilisation de la commande grep est assez simple:

grep PATRON [RUTA AL ARCHIVO]

Par exemple, pour rechercher la chaîne 'Ubuntu'dans un fichier que dans cet exemple nous appellerons text.txt, sans prendre en compte la distinction entre majuscules et minuscules, dans un terminal (Ctrl + Alt + T) nous n'aurons qu'à exécuter la commande:

grep -i texte

grep -i Ubuntu texto.txt

Commande sed

La soif est courte pour Éditeur de flux. C'est un autre outil utile pour le terminal avec lequel nous pouvons manipuler du texte dans un fichier. Sed recherche, filtre et remplace les chaînes dans un fichier donné.

La commande sed par défaut imprime la sortie dans SORTIE STD (Sortie standard). Cela 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 peut être utilisée comme suit:

sed -OPCIONES COMANDO [RUTA AL ARCHIVO]

Par exemple, pour remplacer toutes les occurrences de 'Linux/Unix'dans un texte de'Linux', la commande à utiliser serait la suivante:

Commande sed

sed 's/Linux/GnuLinux/g' texto.txt

Si ce que nous cherchons est rediriger la sortie vers un fichier au lieu de l'imprimer vers le terminal, nous allons utiliser le signe de redirection comme suit:

sed 's/Linux/GnuLinux/g' texto.txt > salida.txt

La sortie de la commande est enregistrée dans le fichier output.txt au lieu d'être imprimé à l'écran.

Sortie de la commande sed

Pour voir plus d'options, vous pouvez consulter les pages de manuel:

homme assoiffé

man sed

ack

Ack est un outil de ligne de commande rapide écrit en Perl. Il est considéré comme un remplacement convivial de l'utilitaire grep, qui génère également des résultats d'une manière visuellement attrayante.

Pour installer ack dans notre système, nous devrons exécuter dans le terminal (Ctrl + Alt + T):

installer ack

sudo apt install ack

La commande Ack recherche dans le fichier ou le répertoire les lignes contenant la correspondance avec les critères de recherche. Mettez ensuite en surbrillance la chaîne correspondante. Cet outil a la capacité de distinguer les fichiers en fonction de leurs extensions.

La syntaxe de la commande Ack serait quelque chose comme la suivante

ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

Par exemple, pour rechercher le terme Linux/Unix dans un fichier, il faudrait exécuter:

commande ack search

ack Linux texto.txt

L'outil de recherche est assez intelligent et si l'utilisateur ne fournit aucun fichier ou répertoire, il recherche le répertoire courant et les sous-répertoires pour le modèle de recherche.

Dans l'exemple suivant, aucun fichier ou répertoire n'est fourni. Ack détecte automatiquement le fichier disponible dans le répertoire et recherche le modèle correspondant:

recherche ack sans fichier

ack Linux

ripgrep

ripgrep est un utilitaire multiplateforme pour rechercher des modèles d'expressions régulières. Il est plus rapide que tous les outils de recherche mentionnés ci-dessus, et il recherche les répertoires de manière récursive pour trouver des modèles correspondants. Il vous permet également de rechercher des types de fichiers spécifiques. Par défaut, ripgrep ignorera les binaires et les fichiers / répertoires cachés.

Pour installer ripgrep sur le système, il vous suffit d'exécuter la commande suivante dans le terminal (Ctrl + Alt + T):

installation de ripgrep

sudo apt install ripgrep

La syntaxe d'utilisation de ripgrep est assez simple:

rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

Si nous voulions chercher la chaîne 'Linux/Unix'dans les fichiers situés dans le répertoire courant, nous n'aurons qu'à exécuter la commande:

homme rg linux

rg Linux

Pour voir plus d'options, les utilisateurs peuvent utiliser pages de manuel:

homme rg

man rg

Chercheur d'argent

Pour installer cet outilDans Ubuntu, nous n'aurons qu'à ouvrir un terminal (Ctrl + Alt + T) et écrire la commande:

installation de silversearcher-ag

sudo apt install silversearcher-ag

Silver Searcher est un outil de recherche open source multiplateforme similaire à ack mais mettant l'accent sur la vitesse. Il permet de trouver facilement une chaîne spécifique dans les fichiers dans les plus brefs délais. La syntaxe à utiliser serait:

ag OPCIONES PATRÓN_DE_BÚSQUEDA /ruta/al/archivo

Par exemple, pour rechercher 'Linux/Unix' dans le fichier text.txt, il faudrait écrire dans le terminal (Ctrl + Alt + T):

rechercher avec silversearcher

ag Linux texto.txt

Pour voir plus d'options, nous pouvons consulter le pages de manuel:

homme silversearcher

man ag

Ce ne sont là que quelques-uns des outils de ligne de commande les plus couramment utilisés pour rechercher, filtrer et manipuler du texte sous Linux.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.