====== Linux ====== ===== GREP ===== \\ ==== Syntaxe ==== $ grep [options] # ou $ cat | grep [options] ^Option ^Example ^Description ^ |-i |''grep -i ^DA demo.txt'' |Ignore la casse | |-w |''grep -w "of" demo.txt'' |Recherche stricte du motif | |-A NUM |''grep -A 3 'Exception' error.log'' |Affiche les 3 lignes suivant la chaîne trouvée | |-B NUM |''grep -B 4 'Exception' error.log'' |Affiche les 4 lignes précédent la chaîne trouvée | |-C NUM |''grep -C 5 'Exception' error.log'' |Affiche 5 lignes entourant la chaîne trouvée | |-r |''grep -r 'quickref.me' /var/log/nginx/'' |Recherche récursive (dans les sous-répertoires) | |-v |''grep -v 'warning' /var/log/syslog'' |Retourne toutes les lignes ne contenant pas le MOTIF | |-e |''grep -e '^al' filename'' |Utiliser les [[linux:shell:regexp|regex]] (lignes commençant par 'al') | |-E |''grep -E 'ja(s|cks)on' filename'' |Utiliser les [[linux:shell:regexp|regex]] étendues (lignes contenant 'jason' or 'jackson') | |-l |''grep -l 'robot' /var/log/*'' |Affiche le nom des fichiers dont le contenu contient le MOTIF | ^Sortie ^^^ |-c, --count |''grep -c 'error' /var/log/syslog'' |Nombre de résultats trouvés | |--color[=WHEN] | |Utilisation de couleurs sur les résultats. WHEN est //never//, //always//, or //auto// | |-m, --max-count=NUM | |Arrête la recherche après NUM résultats | |-o, --only-matching |''grep -o search_string filename'' |Affiche seulement la partie recherchée de la chaîne | |-q, --quiet\\ -s, --silent | |N'affiche pas les messages d'erreurs sur les fichiers inexistants ou illisibles | |-n |''grep -n "go" demo.txt'' |Affiche le numéro de ligne du résultat | \\ ==== Wildcards ==== ^. |Any character. | ^? |Optional and can only occur once. | ^* |Optional and can occur more than once. | ^+ |Required and can occur more than once. | \\ ==== Quantification ==== ^{n} |Previous item appears exactly n times. | ^{n,} |Previous item appears n times or more. | ^{,m} |Previous item appears n times maximum. | ^{n,m} |Previous item appears between n and m times. | \\ ==== Caractères POSIX ==== ^[:alpha:]\\ [A-Z­a-z] |Any lower and upper case letter. | ^[:digit:]\\ [0-9] |Any number. | ^[:alnum:]\\ [0-9­A-Z­a-z] |Any lower and upper case letter or digit. | ^[:space:] |Any whites­pace. | \\ ==== Position ==== ^^ |Beginning of line. | ^$ |End of line. | ^^$ |Empty line. | ^\< |Start of word. | ^\> |End of word. | \\ ---- ==== Exemples ==== vache chat VACHE chien vache. 192.268.1.0 Recherche simple $ grep -i vache ./fic vache VACHE vache. $ grep -w vache ./fic vache Afficher les numéros de ligne $ grep -n -r vache ./fic fic:1:vache fic:5:vache. Inverser la recherche pour exclure $ grep -i -v vache ./fic chat chien 192.268.1.0 Rechercher alternativement plusieurs chaines $ grep -e chat -e chien ./fic # ou $ grep -E "chat|chien" ./fic chat chien