grep : Différence entre versions
De Vulgum Techus
(→Présentation) |
|||
(4 révisions intermédiaires par un utilisateur sont masquées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | <!-- Links checked 05/04/19 --> | ||
[[Catégorie:Linux]] | [[Catégorie:Linux]] | ||
+ | '''[[Lien court]]''' vers cette page : https://vt.cx/grep | ||
+ | '''[[QR code]]''' vers cette page : https://vt.cx/grep.qr | ||
<html> | <html> | ||
− | <script | + | <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> |
− | + | <!-- VT2 --> | |
− | + | <ins class="adsbygoogle" | |
− | + | style="display:inline-block;width:468px;height:60px" | |
− | + | data-ad-client="ca-pub-3341840374417340" | |
− | + | data-ad-slot="6349432125"></ins> | |
− | + | <script> | |
− | </ | + | (adsbygoogle = window.adsbygoogle || []).push({}); |
− | <script | + | |
− | + | ||
</script> | </script> | ||
</html> | </html> | ||
− | |||
= Présentation = | = Présentation = | ||
− | + | grep est un programme en ligne de commande qui recherche dans les fichiers désignés, des motifs (patterns). grep existe en plusieurs variantes qui sont toutes situées dans le dossier '''/bin/'''. | |
− | <br/>La variable '''$?''' qui indique le code de sortie | + | <br/>La variable '''$?''' qui indique le code de sortie d'une commande prend, avec grep, la valeur de 0 si la chaîne est trouvée ou de 1 si elle n'est pas trouvée. |
− | * grep : version de base | + | * '''grep''' : version de base |
− | * | + | * '''egrep''' : grep étendu (extended grep) -> équivaut à '''grep -E''' et traite les caractères '''?, +, {, |, (, )''' comme des métacaractères |
− | * | + | * '''fgrep''' : grep rapide (fast grep) -> ne reconnait pas les métacaractères comme tels |
− | * pgrep : recherche dans les processus en cours d'exécution et affiche leur '''PID''' ex : '''pgrep http''' | + | * '''pgrep''' : recherche dans les processus en cours d'exécution et affiche leur '''PID''' ex : '''pgrep http''' |
+ | |||
+ | == [[Expressions régulières]] == | ||
+ | Pour les recherches avec des '''[[expressions régulières]]''' il est préférable de recourir à egrep. Quelques exemples : | ||
+ | ls | egrep ^ab -> affiche les fichiers dont le nom commence par '''ab''' en minuscule | ||
+ | ls | egrep ^[^a-z] -> affiche les fichiers dont le nom ne commence pas par une minuscule | ||
+ | ls | egrep ^[^a-l] -> affiche les fichiers dont le nom ne commence pas par une minuscule comprise entre a et l | ||
+ | ls | egrep ^[^a-l^t-z] -> affiche les fichiers dont le nom ne commence pas par une minuscule comprise entre a et l et entre t et z | ||
+ | ls | egrep [aeiouy]{2,} -> affiche les fichiers dont le nom comporte 2 voyelles consécutives | ||
+ | ls | egrep gif$ -> affiche les fichiers se terminant par gif (extension gif) | ||
= Commentaires = | = Commentaires = |
Version actuelle en date du 5 avril 2019 à 22:24
Lien court vers cette page : https://vt.cx/grep QR code vers cette page : https://vt.cx/grep.qr
Présentation
grep est un programme en ligne de commande qui recherche dans les fichiers désignés, des motifs (patterns). grep existe en plusieurs variantes qui sont toutes situées dans le dossier /bin/.
La variable $? qui indique le code de sortie d'une commande prend, avec grep, la valeur de 0 si la chaîne est trouvée ou de 1 si elle n'est pas trouvée.
- grep : version de base
- egrep : grep étendu (extended grep) -> équivaut à grep -E et traite les caractères ?, +, {, |, (, ) comme des métacaractères
- fgrep : grep rapide (fast grep) -> ne reconnait pas les métacaractères comme tels
- pgrep : recherche dans les processus en cours d'exécution et affiche leur PID ex : pgrep http
Expressions régulières
Pour les recherches avec des expressions régulières il est préférable de recourir à egrep. Quelques exemples :
ls | egrep ^ab -> affiche les fichiers dont le nom commence par ab en minuscule ls | egrep ^[^a-z] -> affiche les fichiers dont le nom ne commence pas par une minuscule ls | egrep ^[^a-l] -> affiche les fichiers dont le nom ne commence pas par une minuscule comprise entre a et l ls | egrep ^[^a-l^t-z] -> affiche les fichiers dont le nom ne commence pas par une minuscule comprise entre a et l et entre t et z ls | egrep [aeiouy]{2,} -> affiche les fichiers dont le nom comporte 2 voyelles consécutives ls | egrep gif$ -> affiche les fichiers se terminant par gif (extension gif)