Commande Pipe, Grep et Sort sous Linux/Unix avec exemples
Qu’est-ce qu’un Pipe sous Linux ?
Le Pipe est une commande sous Linux qui vous permet d'utiliser deux ou plusieurs commandes de sorte que la sortie d'une commande serve d'entrée à la suivante. En bref, la sortie de chaque processus directement en entrée du suivant comme un pipeline. Le symbole '|' désigne un tuyau.
Les tuyaux vous aident à mélanger deux commandes ou plus en même temps et à les exécuter consécutivement. Vous pouvez utiliser des commandes puissantes qui peuvent effectuer des tâches complexes en un tournemain.
Comprenons cela avec un exemple.
Lorsque vous utilisez la commande « cat » pour afficher un fichier qui s'étend sur plusieurs pages, l'invite passe rapidement à la dernière page du fichier et vous ne voyez pas le contenu au milieu.
Pour éviter cela, vous pouvez rediriger la sortie de la commande « cat » vers « less », ce qui ne vous montrera qu'une seule longueur de défilement de contenu à la fois.
cat filename | less
Une illustration le ferait comprendre.
Cliquez ici si la vidéo n'est pas accessible
Commandes 'pg' et 'plus'
Au lieu de « moins », vous pouvez également utiliser.
cat Filename | pg
or
cat Filename | more
Et vous pouvez afficher le fichier en bits digestibles et faire défiler vers le bas en appuyant simplement sur la touche Entrée.
La commande 'grep'
Supposons que vous souhaitiez rechercher une information particulière, le code postal, à partir d'un fichier texte.
Vous pouvez parcourir manuellement le contenu vous-même pour retracer les informations. Une meilleure option consiste à utiliser la commande grep. Il analysera le document à la recherche des informations souhaitées et présentera le résultat dans le format souhaité.
syntaxe:
grep search_string
Voyons-le en action –
Ici, grep La commande a recherché dans le fichier 'sample' la chaîne 'Apple' et 'Eat'.
Les options suivantes peuvent être utilisées avec cette commande.
Option | Fonction |
---|---|
-v | Affiche toutes les lignes qui ne correspondent pas à la chaîne recherchée |
-c | Affiche uniquement le nombre de lignes correspondantes |
-n | Affiche la ligne correspondante et son numéro |
-i | Faire correspondre les deux majuscules (majuscules et minuscules) |
-l | Affiche juste le nom du fichier avec la chaîne |
Essayons la première option '-je' sur le même fichier, utilisez ci-dessus –
En utilisant l'option 'i', grep a filtré la chaîne 'a' (insensible à la casse) de toutes les lignes.
La commande 'trier'
Cette commande aide à trier le contenu d'un fichier par ordre alphabétique.
La syntaxe de cette commande est :
sort Filename
Considérez le contenu d'un fichier.
Utilisation de la commande de tri
Il y a extensions à cette commande également, et ils sont répertoriés ci-dessous.
Option | Fonction |
---|---|
-r | Revtri des déchets |
-n | Trie numériquement |
-f | Tri insensible à la casse |
L'exemple ci-dessous montre le tri inversé du contenu du fichier « abc ».
Qu'est-ce qu'un filtre?
Linux propose de nombreuses commandes de filtrage telles que awk, grep, sed, sort et wc. Un filtre prend l'entrée d'une commande, effectue un traitement et donne une sortie.
Lorsque vous dirigez deux commandes, la sortie « filtrée » de la première commande est transmise à la suivante.
Comprenons cela à l'aide d'un exemple.
Nous avons le fichier 'exemple' suivant
Nous voulons souligner uniquement les lignes qui ne contiennent pas le caractère « a », mais le résultat doit être dans l'ordre inverse.
Pour cela, la syntaxe suivante peut être utilisée.
cat sample | grep -v a | sort - r
Regardons le résultat.
Résumé :
- Tuyaux '|' envoyer la sortie d’une commande comme entrée d’une autre commande.
- Le filtre prend l'entrée d'une commande, effectue un traitement et donne une sortie.
- La commande grep peut être utilisée pour rechercher des chaînes et des valeurs dans un document texte
- Passer par grep doit être l'une des utilisations les plus courantes
- La commande 'sort' trie le contenu d'un fichier par ordre alphabétique
- Les commandes less, pg et more sont utilisées pour diviser un long fichier en bits lisibles.