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/24 22:44] – [Présentation] techer.charles_educ-valadon-limoges.frreseau:regexp:accueil [2021/11/30 15:24] (Version actuelle) – [grep] techer.charles_educ-valadon-limoges.fr
Ligne 16: Ligne 16:
 Il existe deux standards principaux en matière d'expression régulière, POSIX et Perl. Il existe deux standards principaux en matière d'expression régulière, POSIX et Perl.
  
 +<WRAP center round todo>
 Un site pour apprendre à utiliser les expressions régulières :  Un site pour apprendre à utiliser les expressions régulières : 
-https://zestedesavoir.com/tutoriels/3651/les-expressions-regulieres-1/+  * https://zestedesavoir.com/tutoriels/3651/les-expressions-regulieres-1/ 
 +  * en testant les expressions régulières avec [[https://rubular.com/|Rubular]]
  
-Ce site vous propose de tester l'usage des expressions régulières avec le site  [[https://rubular.com/|Rubilar]]+Dans ce tutoriel vous utiliserez également : 
 +  * grep 
 +  * sed 
 +  * less 
 +</WRAP>
  
-==== Liste de quelques méta-caractères utilisés et leur fonction : ====+ 
 +===== 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://www.malekal.com/exemples-de-commande-grep-sous-linux/ 
 +<WRAP center round todo> 
 +Découvrir d'autres usages utiles des expressions régulières avec grep sous Linux :  
 +  * https://www.malekal.com/exemples-de-commande-grep-sous-linux/ 
 +</WRAP> 
 + 
 + 
 +==== 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.1637790247.txt.gz · Dernière modification : 2021/11/24 22:44 de techer.charles_educ-valadon-limoges.fr