Ce guide présente certains des meilleurs 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 avec des expressions régulières – abrégé en REGEX – qui sont des chaînes uniques pour décrire un modèle de recherche.
Sans plus tarder, plongeons-nous.
1. Commande Grep
Venir en premier lieu est le outil utilitaire grep – est un acronyme pour Impression d’expression régulière globale, est un puissant outil de ligne de commande très pratique lors de la recherche d’une chaîne ou d’un modèle spécifique dans un fichier.
Grep livré avec distributions Linux modernes par défaut et vous donne la possibilité de renvoyer divers résultats de recherche. Avec grep, vous pouvez effectuer une vaste gamme de fonctions telles que:
- Recherchez des chaînes ou des modèles correspondants dans un fichier.
- Recherchez des chaînes ou des modèles correspondants dans les fichiers compressés par Gzip.
- Comptez le nombre de correspondances de chaînes.
- 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 (c’est-à-dire afficher les résultats des chaînes ne correspondant pas aux critères de recherche).
- Ignorez la casse lors de la recherche de chaînes.
La syntaxe d’utilisation de grep La commande est assez simple:
$ grep pattern FILE
Par exemple, pour rechercher la chaîne ‘Linux‘dans un fichier, disons, bonjour.txt tout en ignorant le respect de la casse, exécutez la commande:
$ grep -i Linux hello.txt
Pour obtenir plus d’options que vous pouvez utiliser avec grep, lisez simplement notre article qui illustre plus exemples de commandes grep avancées.
2. Commande sed
Sed – court pour Éditeur de flux – est un autre outil de ligne de commande utile pour texte de manipulation dans un fichier texte. Sed recherche, filtre et remplace les chaînes d’un fichier donné de manière non interactive.
Par défaut, sed commande imprime la sortie sur STDOUT (Sortie 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 appelée comme suit:
$ sed -OPTIONS command [ file to be edited ]
Par exemple, pour remplacer toutes les instances de ‘Unix‘ avec ‘Linux‘, appelez la commande:
$ sed 's/Unix/Linux' hello.txt
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 > output.txt
La sortie de la commande est enregistrée dans le output.txt fichier au lieu d’être imprimé à l’écran.
Pour découvrir d’autres options pouvant être utilisées, consultez à nouveau les pages de manuel.
$ 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 amical pour utilitaire grep et les résultats sont visuellement attrayants.
Ack La commande recherche dans le fichier ou le répertoire les lignes contenant la correspondance avec les critères de recherche. Il met ensuite 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, du contenu des fichiers.
Syntaxe de la commande Ack:
$ ack [options] PATTERN [FILE...] $ ack -f [options] [DIRECTORY...]
Par exemple, pour vérifier le terme de recherche Linux, courir:
$ ack Linux hello.txt
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 courant 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 détecté automatiquement le fichier disponible et recherché le modèle correspondant fourni.
$ ack Linux
À installer accuser sur votre système, exécutez la commande:
$ sudo apt install ack-grep [On Debian/Ubuntu] $ sudo dnf install ack-grep [On CentOS/RHEL]
4. Commande Awk
Awk est un langage de script à part entière et également un outil de traitement de texte et de manipulation de données. Il recherche les fichiers ou programmes contenant le modèle de recherche. Lorsque la chaîne ou le motif est trouvé, awk agit sur le match ou la ligne et imprime les résultats sur STDOUT.
le AWK motif est entre accolades tandis que le programme entier est entouré de guillemets simples.
Prenons l’exemple le plus simple. Supposons que vous imprimez la date de votre système comme indiqué:
$ date
Supposons que vous souhaitiez uniquement imprimer la première valeur, qui est le jour de la semaine. Dans ce cas, dirigez la sortie vers awk comme montré:
$ date | awk '{print $1}'
Pour afficher les valeurs suivantes, séparez-les par une virgule comme indiqué:
$ date | awk '{print $1,$2}'
La commande ci-dessus affichera le jour de la semaine et la date du mois.
Pour obtenir plus d’options que vous pouvez utiliser avec awk, lisez simplement notre série de commandes awk.
5. Chercheur d’argent
le chercheur d’argent est un outil de recherche de code multi-plateforme et open source similaire à accuser 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/file
Par exemple, pour rechercher la chaîne ‘Linux‘dans un fichier bonjour.txt invoquez la commande:
$ ag Linux hello.txt
Pour des options supplémentaires, visitez les pages de manuel:
$ man ag
Voici quelques-uns des outils de ligne de commande les plus utilisés pour rechercher, filtrer et manipuler du texte sous Linux. Si vous avez d’autres outils que vous pensez avoir omis, faites-le nous savoir dans la section commentaires.
Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer:
TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint! pour rechercher ou parcourir les milliers d’articles publiés disponibles GRATUITEMENT à tous.
Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en guise de remerciement.
Nous sommes reconnaissants pour votre soutien sans fin.
.