rroo a écrit :benjarobin a écrit :Le # qui manque n'a pas d'insidence sur la commande grep ?
La commande
grep
cherche la ou les
ligne(s) qui contiennent en partie ce que tu cherches.
Par exemple, si tu fais un
cat /proc/meminfo | grep MemTo
, il va chercher la ou les lignes qui contiennent "MemTo". Mais si tu fais
cat /proc/meminfo | grep MemTotal
, tu ne ferras qu'affiner ta recherche.
Certes, j'avais écrit :
Code : Tout sélectionner
grep "#fr_FR.UTF-8 UTF-8" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
grep "fr_FR ISO-8859-1" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
grep "fr_FR@euro ISO-8859-15" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
Mais j'aurais pu écrire :
Code : Tout sélectionner
grep "fr_FR.UTF-8 UTF-8" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
grep "fr_FR ISO-8859-1" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
grep "fr_FR@euro ISO-8859-15" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
Ou mieux, pour être certains que je cherche uniquement ce qui est commenté, j'aurais pu faire :
Code : Tout sélectionner
grep "#fr_FR.UTF-8 UTF-8" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
grep "#fr_FR ISO-8859-1" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
grep "#fr_FR@euro ISO-8859-15" /mnt/etc/locale.gen | sed "s/\#//" >> /mnt/etc/locale.gen
Tout est valable, avec comme sans le hash (#), car je connais le fichier
/etc/locale.gen. C'est de l’inattention de ma part, j'aurais pu faire mieux oui, mais le résultat sera le même dans ce cas là.
Enfin, ne te compliques pas la tête sur ce genre de choses insignifiantes tu sais. Le mieux si tu n'es pas familier avec la commande
grep
, c'est de la tester pour voir (tout comme je ne suis pas familier avec
sed
, et quand ça fait ce que je veux je ne cherche pas plus loin

) !
