-
Notifications
You must be signed in to change notification settings - Fork 16
/
grep_egrep_fgrep_rgrep.txt
154 lines (130 loc) · 8.03 KB
/
grep_egrep_fgrep_rgrep.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
GREP_EGREP_FGREP_RGREP
grep "PTERN" ["FILE"]...#Imprime les lignes contenant les occurences de
#"PATTERN" dans "FILE". Si plusieurs fichiers sont
#indiques, renvoie le nom du fichier concerne en debut
#de chaque ligne renvoyee.
#Utilise les regexps simples pour "PATTERN" a moins
#d'utiliser grep -E
#[FILE]... par défaut est stdin : on peut donc rediriger
#son input
#Pour les fichiers binaires, n'affiche que le fait que
#l'occurence ait été trouvée ou non
SEQUENCES D'ECHAPPEMENT
BACKSLASH ==> #grep ne peut les comprendre que sous la forme $' '
-F
--fixed-strings #Ne pas utiliser les regexps
-E
--extended-regexp #Utiliser les regexps etendues et non simples
-G
--basic-regexp #Utiliser les regexps simples (par defaut)
-P
--perl-regexp #Utiliser les regexps Perl
-i
-y
--ignore-case #ignore la casse
-v #inverse la concordance (quelle que soit l'option
--invert-match #choisie) et les lignes renvoyees deviennent celles ou
#il n'y pas d'occurence
-R, -r
--recursive #Si un repertoire est cible, cible alors l'ensemble des
-d "recurse" #fichiers qu'il contient de maniere recursive. Implique
--directories="recurse" #-H
--include="PATTERN" #N'analyse que les fichiers dont le chemin correspond au
#"PATTERN" (globbing). Le chemin est le chemin spécifié
#en ligne de commande (relatif ou absolu). Pour une
#récursion, tout le chemin depuis celui spécifié en
#ligne de commande est compris.
--exclude="PATTERN" #N'analyse pas les fichiers dont le nom correspond au
#"PATTERN" (globbing). Même chose pour les chemins
--exclude-from=FILE #Même chose, mais lit les PATTERN... dans FILE (batch
#mode)
--exclude-dir="PATTERN" #Avec -r, ne fait pas de récursion pour les répertoires
#corresponant à "PATTERN" (globbing)
-w #ne renvoie l'occurence que si elle forme un mot
--word-regexp #complet, c'est-a-dire si ses avant et apres chacun de
#ses bords ne se trouve pas une lettre, un chiffre ou
#un _
-x #ne renvoie l'occurence que si elle forme la ligne
--line-regexp #entiere
-o
--only-matching #N'afficher que l'occurence et non la ligne entiere
-m "NOMBRE"
--max-count="NOMBRE" #N'affiche que les N premieres occurences
-c #N'affiche pas les occurences mais simplement un nombre
--count #representant le nombre total de lignes contenant
#l'occurence (et non d'occurences) trouvées
-l #N'affiche pas les occurences mais seulement le nom
--files-with-matches #des fichiers qui verifient au moins une occurence
-L #N'affiche pas les occurences mais seulement le nom
--files-without-match #des fichiers qui ne verifient aucune occurence
-A "NOMBRE" #Afficher egalement les N lignes suivant chaque
--after-context="NOMBRE"#occurence. Une ligne contenant -- est place entre
#chaque occurence.
-B "NOMBRE" #Meme chose mais affiche les N lignes precedentes
--before-context="NOMBR"#
-C "NOMBRE" #Meme chose mais affiche les N lignes precedentes et
--context="NOMBRE" #suivantes
-q #N'affiche pas d'output mais un exit code 0 a la
--quiet, --silent #premiere occurence trouvee. De plus, skip les erreurs.
#Probleme de portabilite (voir ci-dessous)
-s #Skippe les erreurs. Le grep traditionnel n'a pas
--no-messages #d'option -q et son option -s agit comme le -q de GNU
#grep. Eviter donc ces deux options et simplement
#faire un 2> /dev/null
-n #Ajoute au debut de la ligne de chaque occurence son
--line-number #numero de ligne
-b #Avant chaque ligne, affiche l'offset de l'occurences
--byte-offset #(en octet) par rapport au debut du fichier
-u #Avec -b, sur un fichier dont la newline est CR + LF,
--unix-byte-offset #compte ces deux caractères comme un seul octet
-H #Afficher le nom du fichier pour chaque occurence (par
--with-filename #defaut si plusieurs fichiers). Potentiellement
#"(standard input)"
-h #Ne pas afficher le nom du fichier pour chaque
--no-filename #occurence (par defaut si un seul fichier)
--colour="FREQUENCE" #Colore l'occurence en fonction de la "FREQUENCE" :
--color="FREQUENCE" #"never", "always", "auto". Les couleurs correspondent
#a la variable d'environnement $GREP_COLOR
-a
--text #Traiter un fichier binaire comme s'il s'agissait de
--binary-files="text" #texte
--binary-files="binary" #Si le fichier est un binaire, indique seulement en
#une ligne si au moins une occurence a ete trouvee ou
#non (defaut)
-I
--binary-files= #Si le fichier est un binaire, il est skippé, et aucun
"without-match" #message n'est affiche
-U #Sur les systèmes faisant la différence entre fichiers
--binary #texte/binaires (comme M$), grep transforme le CR + LF
#final en '\n', ce qui permet le fonctionnement correct
#de "^" et "$". Cependant, cela n'est pas souhaité sur
#un fichier binaire : cette option désactive donc cela.
#Sur Unix, cette option n'a pas d'effet.
-D "ACTION" #Si le fichier est un peripherique, une FIFO ou une
--devices="ACTION" #socket et que "ACTION" est "read", il est lu comme
#un fichier normal. Si "ACTION" est "skip", le fichier
#est skip et aucun message n'est affiche
-d "ACTION" #meme chose mais pour les repertoires. "read" un
--directories="ACTION" #repertoire signifie lire le repertoire lui-meme et
#non son contenu
-e "PATTERN"
--regexp="PATTERN" #Utiliser le "PATTERN" indiqué. Ceci permet de mettre plusieurs PATTERN.
-f "FICHIER"
--file="FICHIER" #meme chose pour les fichiers
-Z #Renvoie des null et non des newlines apres les noms
#de fichiers avec l'option -l ou -L. (Voir
#null_newline.txt)
-z #Traite le contenu de "FILE"... comme si le separateur
--null-data #des champs etaient null et non newline. (Voir
#null_newline.txt)
--line-buffered #Line-buffer l'output (donne de mauvaises performances)
#plutôt qu'un full-buffer (cf doc sur les buffers)
--mmap #Utilise le syscall mmap() à la place de read(). Donne
#de meilleures performances, mais des résultats
#inattendus si les FILE... changent lors du grep, ou en
#cas d'erreur I/O.
egrep "PTRN" ["FILE"]...#Alias pour grep -E
fgrep "PTRN" ["FILE"]...#Alias pour grep -F
rgrep "PTRN" ["FILE"]...#Alias pour grep -r