issue221:c_c
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
issue221:c_c [2025/09/28 14:00] – d52fr | issue221:c_c [2025/09/28 15:29] (Version actuelle) – d52fr | ||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
So it’s not difficult to grasp and the man page says this about it: | So it’s not difficult to grasp and the man page says this about it: | ||
grep searches | grep searches | ||
+ | |||
+ | Nous avons abordé plusieurs points dans nos articles de C&C jusqu' | ||
+ | |||
+ | Commençons par la syntaxe, autrement dit, son utilisation. La voici : | ||
+ | |||
+ | grep < | ||
+ | grep < | ||
+ | commande | grep < | ||
+ | |||
+ | Ce n'est donc pas difficile à comprendre, et la page de manuel le précise : | ||
+ | grep recherche des MOTIFS dans chaque FICHIER. Les MOTIFS sont un ou plusieurs motifs séparés par des sauts de ligne, et grep affiche chaque ligne correspondant au motif. En règle générale, les MOTIFS doivent être entre guillemets lorsque grep est utilisé dans une commande shell. | ||
+ | |||
**Let’s start simple, let’s look for a “word” (pattern) in a file. | **Let’s start simple, let’s look for a “word” (pattern) in a file. | ||
Ligne 25: | Ligne 37: | ||
Great, I’m sure we are all on the same page, so far. This is the very basics of finding your pattern. A lot of people will say “word” when showing you how to use grep, but you could type “reso” instead of “resolution”, | Great, I’m sure we are all on the same page, so far. This is the very basics of finding your pattern. A lot of people will say “word” when showing you how to use grep, but you could type “reso” instead of “resolution”, | ||
+ | |||
+ | Commençons simplement : | ||
+ | |||
+ | Voici ma requête : grep distro / | ||
+ | |||
+ | En détail, recherchez l' | ||
+ | |||
+ | Prenons maintenant la sortie d’un fichier et envoyons-la dans grep pour la filtrer. | ||
+ | |||
+ | Voici ma requête : | ||
+ | |||
+ | inxi -G | grep resolution | ||
+ | |||
+ | En détail, lancez inxi, filtrez par « graphics » (-G), puis envoyez-la vers grep pour isoler mon motif, à savoir « resolution ». | ||
+ | |||
+ | Super, je suis sûr que nous sommes tous sur la même longueur d’onde jusqu’ici. Voici les bases pour trouver votre motif. Beaucoup de gens diront « mot » lorsqu’ils vous montreront comment utiliser grep, mais vous pouvez saisir « reso » au lieu de « résolution » ; ce n’est pas forcément un « mot ». | ||
+ | |||
**Helpful hint no. 1: You can use the case insensitive flag if you want, say, VGA as well as vga. I use it mechanically, | **Helpful hint no. 1: You can use the case insensitive flag if you want, say, VGA as well as vga. I use it mechanically, | ||
Ligne 39: | Ligne 68: | ||
Note: I cannot just do this: grep " | Note: I cannot just do this: grep " | ||
+ | |||
+ | Conseil pratique n° 1 : Vous pouvez utiliser l’option « insensible à la casse » (-i) si vous souhaitez, par exemple, utiliser VGA ou vga. Je l’utilise mécaniquement ; | ||
+ | |||
+ | La méthode la plus efficace pour trouver des informations est la recherche récursive. | ||
+ | |||
+ | Voici ma requête : | ||
+ | |||
+ | grep -r " | ||
+ | |||
+ | En résumé, recherchez mon motif dans un répertoire (nombre de fois où j’ai cité lists.ubuntu.com comme source). On peut également utiliser -R ici. | ||
+ | |||
+ | Notre résultat est donc légèrement différent. J’ai le chemin d’accès complet du fichier, suivi d’un : | ||
+ | |||
+ | Remarque : je ne peux pas simplement faire ceci : grep " | ||
+ | |||
**We can clean up our output with -h option/ | **We can clean up our output with -h option/ | ||
Ligne 56: | Ligne 100: | ||
Let’s circle back to my article query, what if I wanted to know how many times it finds my pattern in each file that it traverses? | Let’s circle back to my article query, what if I wanted to know how many times it finds my pattern in each file that it traverses? | ||
+ | |||
+ | Nous pouvons nettoyer notre sortie avec l' | ||
+ | Vous voyez ce que j'ai fait ? Je vous invite à le faire sur vos propres fichiers, pour vous faire une idée. | ||
+ | |||
+ | Le plus simple est d' | ||
+ | |||
+ | Bien que nous recherchions généralement uniquement des motifs, vous pouvez rechercher explicitement des mots. Cela peut être utile lorsque plusieurs parties correspondent à votre motif, mais que vous recherchez quelque chose de spécifique. J'ai un fichier contenant rgb et rgba. Si je recherchais le motif rgb, toutes les instances rgba seraient également renvoyées. | ||
+ | |||
+ | Voici ma requête : | ||
+ | |||
+ | grep -w " | ||
+ | |||
+ | En résumé, je souhaite que seul le « mot » rgb soit renvoyé de mon fichier cible. | ||
+ | |||
+ | Par rapport à la sortie normale : | ||
+ | |||
+ | Revenons au thème de cet article : que se passerait-il si je voulais savoir combien de fois mon motif est détecté dans chaque fichier parcouru ? | ||
+ | |||
**Here’s my query: | **Here’s my query: | ||
Ligne 74: | Ligne 136: | ||
Boom! ** | Boom! ** | ||
+ | |||
+ | Voici ma requête : | ||
+ | |||
+ | grep -R -c " | ||
+ | |||
+ | En détail, trouvez mon motif, puis indiquez-moi combien de fois il apparaît dans chaque fichier. | ||
+ | |||
+ | Notez que nous avons un chemin complet comme précédemment, | ||
+ | |||
+ | Et si nous avions plusieurs documents et que nous souhaitions savoir précisément où le motif apparaît ? | ||
+ | |||
+ | Voici ma requête : | ||
+ | |||
+ | grep -R -n " | ||
+ | |||
+ | Soit, recherchez mon motif de manière récursive et indiquez-moi le numéro de ligne où vous avez trouvé la correspondance. | ||
+ | |||
+ | Boum ! | ||
+ | |||
**I’m going to leave it here for this issue, as it is getting a bit image heavy, (I don’t want Ronnie to fire me, yet) but we can talk about it more in the next issue. | **I’m going to leave it here for this issue, as it is getting a bit image heavy, (I don’t want Ronnie to fire me, yet) but we can talk about it more in the next issue. | ||
Ligne 80: | Ligne 161: | ||
Any corrections, | Any corrections, | ||
+ | |||
+ | Je vais m' | ||
+ | |||
+ | Pour ceux d' | ||
+ | |||
+ | Pour toute correction, car nous sommes tous humains, écrivez à : misc@fullcirclemagazine.org | ||
+ |
issue221/c_c.1759060800.txt.gz · Dernière modification : 2025/09/28 14:00 de d52fr