Remplacer chaîne de caractères ds un fichier

Résolu/Fermé
greg5959 Messages postés 5 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 22 juin 2007 - 22 juin 2007 à 10:18
 popopopop - 7 sept. 2010 à 22:35
Bonjour

Quel est la commande Unix pour remplacer une chaîne de caractère par une autre dans la première ligne d'un fichier ( et uniquement dans la première) ?

Merci pour votre aide


Greg
A voir également:

5 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
22 juin 2007 à 10:41
Salut,
sed -i.bak '1 s/motif/remplacement/' fichier
Voir aussi : sed substitution#simplee

;-))
5
greg5959 Messages postés 5 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 22 juin 2007 1
22 juin 2007 à 11:11
Merci beaucoup


A quoi sert le -i.bak ?

Merci
Greg
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897 > greg5959 Messages postés 5 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 22 juin 2007
22 juin 2007 à 11:14
A faire une sauvegarde du fichier d'origine... oKaZou ;-))
0
greg5959 Messages postés 5 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 22 juin 2007 1 > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
22 juin 2007 à 11:31
Merci beaucoup

Bonne journée
0
Salut

Quelqu'un sait comment intégrer des slashs et des astérisques dans le motif ? je veux remplacer
*/3 * * *

par
3 */3 * *
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
7 sept. 2010 à 19:17
echo '*/3 * * *' | sed 's#.*#3 */3 * *#'
3 */3 * *
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
22 juin 2007 à 11:54
Quelle version de "sed" utilises-tu ?
sed --version
Pour que la modification soit prise en compte il faut une version supérieure à 4.0.5, sinon il faut passer par un fichier temporaire :
sed '1 s/motif/remplacement/' < fichier > fich.tmp && mv -f fich.tmp fichier
;-))
1
greg5959 Messages postés 5 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 22 juin 2007 1
22 juin 2007 à 14:04
Dsl mais sed --version ne marche pas
Merci
1
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
22 juin 2007 à 14:09
Essaye "sed -v" alors et dans tous les cas "man sed" ;-))
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
22 juin 2007 à 11:32
De rien ;-))
0
greg5959 Messages postés 5 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 22 juin 2007 1
22 juin 2007 à 11:50
Excuse moi mais je viens d'essayer et je pense que le sed ne répond pas à mes attentes car je souhaiterais que la modif soit enregistrée dans le fichier ( et pas seulement éditée)
et apparmeent le -i.bak ne marche pas

Merci
0