|
|
|
|
||||||
| fr.comp.os.unix Système UNIX. |
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonjour,
Dans un lot de fichier de configuration, je veux remplacer certains '0' par des '1'. Plus précisément, yum, peut avoir ses fichiers de configuration éclatés en plein de petits fichiers. Dans chaque fichier il y a une ligne gpgcheck=1 Moi, avec sed, je veux mettre tous les gpgchecks à 0 Je fais: grep -r 'gpgcheck' /etc/yum.repos.d/* | \ cut -f1 -d":" | uniq | \ xargs sed -i .bak 's,gpgcheck=1,gpgcheck=0,g' Mais erreur: sed: -e expression #1, char 1: unknown command: `.' J'imagine bien que c'est le '1' et le '0' qui lui pose problème. Il faut donc que je les échappe. Je cherche avec "sed substitute number", "sed substitute integer", je ne trouve pas mon bonheur. Un petit coup de main svp? Merci d'avance. |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
R12y wrote in message <eqifkl$1huf$1@cabale.usenet-fr.net>:
> Mais erreur: > sed: -e expression #1, char 1: unknown command: `.' > > J'imagine bien que c'est le '1' et le '0' qui lui pose problème. Non, pas du tout. Lis mieux ton message d'erreur: c'est le point qui pose problème. Comme il n'y a qu'un point dans ta ligne sed, tu devrais sans problème trouver. |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
Le 09-02-2007, Rakotomandimby (R12y) Mihamina a écrit:
> Bonjour, bonjour, > [...] > Je fais: > > grep -r 'gpgcheck' /etc/yum.repos.d/* | \ > cut -f1 -d":" | uniq | \ > xargs sed -i .bak 's,gpgcheck=1,gpgcheck=0,g' > Mais erreur: > sed: -e expression #1, char 1: unknown command: `.' > > J'imagine bien que c'est le '1' et le '0' qui lui pose problème. Non, c'est l'espace entre -i et .bak : du coup, .bak est interprété comme une commande Sed, et -i a un paramètre vide (pas de sauvegarde pour les Vrais Hommes ![]() > Merci d'avance. de rien, -- Jacques L'helgoualc'h |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
"Rakotomandimby (R12y) Mihamina" <mihamina.rakotomandimby@etu.univ-orleans.fr> writes:
> Bonjour, > Dans un lot de fichier de configuration, je veux remplacer certains '0' par > des '1'. > Plus précisément, yum, peut avoir ses fichiers de configuration éclatés en > plein de petits fichiers. > Dans chaque fichier il y a une ligne > gpgcheck=1 > Moi, avec sed, je veux mettre tous les gpgchecks à 0 for f in /etc/yum.repos.d/* ; do cp $f ${f}~ && sed -e 's,gpgcheck=1,gpgcheck=0,g' < ${f}~ > $f done -- __Pascal Bourguignon__ http://www.informatimago.com/ ADVISORY: There is an extremely small but nonzero chance that, through a process known as "tunneling," this product may spontaneously disappear from its present location and reappear at any random place in the universe, including your neighbor's domicile. The manufacturer will not be responsible for any damages or inconveniences that may result. |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
2007-02-09, 19:49(+01), Rakotomandimby (R12y) Mihamina:
> Bonjour, > Dans un lot de fichier de configuration, je veux remplacer certains '0' par > des '1'. > Plus précisément, yum, peut avoir ses fichiers de configuration éclatés en > plein de petits fichiers. > Dans chaque fichier il y a une ligne > gpgcheck=1 > Moi, avec sed, je veux mettre tous les gpgchecks à 0 > Je fais: > > grep -r 'gpgcheck' /etc/yum.repos.d/* | \ > cut -f1 -d":" | uniq | \ > xargs sed -i .bak 's,gpgcheck=1,gpgcheck=0,g' > Mais erreur: > sed: -e expression #1, char 1: unknown command: `.' > > J'imagine bien que c'est le '1' et le '0' qui lui pose problème. > Il faut donc que je les échappe. > Je cherche avec "sed substitute number", "sed substitute integer", je ne > trouve pas mon bonheur. Un petit coup de main svp? Vu que tu utilises deja des trucs GNU-specifics, tu devrais plutot faire grep -lrZ gpgcheck /etc/yum.repos.d | xargs -r0 sed -i.bak s,gpgcheck=1,gpgcheck=0,g -- Stéphane |
|
![]() |
| Outils de la discussion | |
|
|