Remplacer une ligne avec une variable incrémentale
madavekia
Messages postés
34
Statut
Membre
-
zipe31 Messages postés 38797 Statut Contributeur -
zipe31 Messages postés 38797 Statut Contributeur -
Bonjour,
Je voudrais remplacer avec SED une ligne dans une fichier texte et qui est la suivante :
Release: 0%{?dist}
par :
Release: R$x%{?dist}
sachant qu'a chaque fois que je lance mon script la valeur de x est incrémentée de +1 , donc j'aurais comme sortie :
Release: R1{?dist}
Je vous remercie d'avance
Je voudrais remplacer avec SED une ligne dans une fichier texte et qui est la suivante :
Release: 0%{?dist}
par :
Release: R$x%{?dist}
sachant qu'a chaque fois que je lance mon script la valeur de x est incrémentée de +1 , donc j'aurais comme sortie :
Release: R1{?dist}
Je vous remercie d'avance
A voir également:
- Remplacer une ligne avec une variable incrémentale
- Partager photos en ligne - Guide
- Remplacer disque dur par ssd - Guide
- Mètre en ligne - Guide
- Remplacer word - Guide
- Aller à la ligne dans une cellule excel - Guide
2 réponses
Salut,
$ cat plop Bonjour, Je voudrais remplacer avec SED une ligne dans une fichier texte et qui est la suivante : Release: 0%{?dist} $ x=1 $ sed '/^\(Release: \)[^%]*\(.*\)/{s//\1R'"${x}"'\2/}' plop Bonjour, Je voudrais remplacer avec SED une ligne dans une fichier texte et qui est la suivante : Release: R1%{?dist} $ x=2 $ sed '/^\(Release: \)[^%]*\(.*\)/{s//\1R'"${x}"'\2/}' plop Bonjour, Je voudrais remplacer avec SED une ligne dans une fichier texte et qui est la suivante : Release: R2%{?dist} $;-))
Tout d'abord merci pour ta réponse.
Tu incrémentes tout seul le x ou c'est le sed qui le fait ?
sed: -e expression n°1, caractère 39: caractères inutiles après la commande , c'est le message que j'ai en sortie
Tu incrémentes tout seul le x ou c'est le sed qui le fait ?
sed: -e expression n°1, caractère 39: caractères inutiles après la commande , c'est le message que j'ai en sortie
Non sed ne fait pas d'incrémentation. Comme tu parlais de script (sachant qu'a chaque fois que je lance mon script la valeur de x est incrémentée de +1 , ) je croyais que la commande sed faisait partie d'une boucle d'où étaient extraite la variable ;-\
Pour l'erreur copies/colles ta commande, tu dois avoir oublié une quote ;-(
Pour te faciliter la vie, mets des quotes doubles autour de la synatxe de sed :
Pour l'erreur copies/colles ta commande, tu dois avoir oublié une quote ;-(
Pour te faciliter la vie, mets des quotes doubles autour de la synatxe de sed :
sed "/^\(Release: \)[^%]*\(.*\)/{s//\1R${x}\2/}"