Outils pour utilisateurs

Outils du site


reseau:regexp:accueil

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
reseau:regexp:accueil [2021/11/30 13:13] – [Définir des expressions régulières] techer.charles_educ-valadon-limoges.frreseau:regexp:accueil [2021/11/30 15:24] (Version actuelle) – [grep] techer.charles_educ-valadon-limoges.fr
Ligne 24: Ligne 24:
   * grep   * grep
   * sed   * sed
 +  * less
 </WRAP> </WRAP>
- Lien :+ 
 + 
 +===== les commandes linux utiles ===== 
 +  * **cd** : aller dans un dossier (absolu « /home/nouvel/test... » ou relatif « test/ »), 
 +  * **ls** : afficher les fichiers du dossier courant, 
 +  * **pwd** : afifcher le chemin du dossier courant, 
 +  * **mkdir** : créer un dossier, 
 +  * **rm** : effacer un fichier (ou un dossier : « rm -r »), 
 +  * **cat** : envoie le contenu d'un (des) fichier(s) vers le flux de sortie standard, 
 +  * **less** : visualiser un flux (fèches pour monter / descendre, « q » pour quitter), 
 +  * **grep** : afficher les lignes du fux qui correspondent à une expression régulière, 
 +  * **sort** : trie les lignes du flux par ordre lexicographique, 
 +  * **uniq** : omet les lignes répétées dans le fux, 
 +  * **wc** : compte le nombre de lignes / mots / caractères dans le flux. 
 +===== Le pipe ===== 
 +Le pipe **|** permet de changer la destination d'un flux de données 
 +==== Par exemple : ==== 
 +  * Envoyer le contenu d'un fichier vers la sortie standard (terminal) : 
 +<code shell> 
 +cat fichier.txt 
 +</code> 
 +  * Envoyer le contenu d'un fichier vers la visualisation paginée : 
 +<code shell> 
 +cat fichier.txt | less 
 +</code> 
 +  * Envoyer le contenu d'un fichier vers **grep** pour sélectionne les lignes contenant le mot **limoges** et les le  
 +</code> 
 +visualiser page par page : 
 +<code shell> 
 +cat fichier.txt | grep limoges | less 
 +</code> 
 +  * Envoyer le contenu d'un fichier vers **grep**, qui sélectionne les lignes contenant le mot **limoges** puis enregistre les lignes dans un autre fichier : 
 +<code shell> 
 +cat fichier.txt | grep limoges > fichierlimoges.txt 
 +</code> 
 +=== Conseils === 
 +  * tester des commandes dans le terminal, 
 +  * lorsque la sortie est volumineuse, ajoutez ** | less ** pour visualiser page par page , 
 +  * pour enregistrer la sortie dans un fichier, ajoutez ** > fchier.txt **, 
 +  * pour voir (ou compter) des entrées distinctes, ajoutez **| sort | uniq -c**. 
 +===== grep ==== 
 +**grep** signifie **Global Regular Expression Print** et est un outil en ligne de commande Linux / Unix utilisé pour rechercher une chaîne de caractères dans un fichier spécifié. 
 +<WRAP center round info> 
 +grep vous permet de rechercher et d'afficher des résultats pour des mots entiers uniquement. 
 +</WRAP> 
 + 
 + 
 +Le modèle de recherche de texte est appelé une **expression régulière (regex)**. Lorsqu'il trouve une correspondance, il imprime la ligne avec le résultat. La commande grep est pratique lors de la recherche dans de gros fichiers journaux. 
 + 
 +**grep** peut s'utiliser directement pour rechercher un motif dans un fichier mais également via un **pipe**. 
 + 
 +Les commandes suivantes alors équivalentes : 
 +<code shell> 
 +grep motif nomfichier 
 +</code> 
 +ou 
 +<code shell> 
 +cat nomfichier | grep motif 
 +</code> 
 + 
 +Pour rendre **grep** insensible à la casse, utilisez l'option -i : 
 + 
 +Options utiles 
 +^  option  ^ Action 
 +|-i| insensible à la casse| 
 +|-w| rechercher dans tous le fichiers| 
 +|-n| afficher les numéros de ligne| 
 +|-v| inverser la recherche pour exclure| 
 +|-mx| Limiter le nombre de sortie à x ligne| 
 +|-e chaine1 -e chaine2| Rechercher plusieurs chaînes| 
 +|-Ee "chaine1%%|%%chaine2"| Rechercher plusieurs chaînes avec les regex| 
 +|-c| compter le nombre de ligne| 
 +|"%%^%%chaine"| Rechercher en début de ligne| 
 +|"chaine$"| Rechercher en fin de ligne| 
 + 
 +Lien :
   * https://man7.org/linux/man-pages/man1/grep.1.html   * https://man7.org/linux/man-pages/man1/grep.1.html
-  * +  * https://www.malekal.com/exemples-de-commande-grep-sous-linux/
 <WRAP center round todo> <WRAP center round todo>
 Découvrir d'autres usages utiles des expressions régulières avec grep sous Linux :  Découvrir d'autres usages utiles des expressions régulières avec grep sous Linux : 
Ligne 34: Ligne 110:
  
  
- +==== Liste de quelques méta-caractères utilisés et leur fonction : =====
- +
-==== Liste de quelques méta-caractères utilisés et leur fonction : ====+
 ^Méta-caractère^Fonction^ ^Méta-caractère^Fonction^
 |\d|Tous les chiffres| |\d|Tous les chiffres|
reseau/regexp/accueil.1638274392.txt.gz · Dernière modification : 2021/11/30 13:13 de techer.charles_educ-valadon-limoges.fr