Remplacement chaine de caractere
Fermé
repie
Messages postés
6
Date d'inscription
lundi 17 septembre 2007
Statut
Membre
Dernière intervention
17 septembre 2007
-
17 sept. 2007 à 11:40
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 17 sept. 2007 à 16:31
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 17 sept. 2007 à 16:31
A voir également:
- Remplacement chaine de caractere
- Caractère ascii - Guide
- Coco chat remplacement - Accueil - Réseaux sociaux
- Remplaçant de Coco : quelles solutions pour tchater gratuitement en ligne ? - Accueil - Réseaux sociaux
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
14 réponses
ShaBoo
Messages postés
392
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
5 septembre 2009
50
17 sept. 2007 à 11:44
17 sept. 2007 à 11:44
Bonjour,
Tu peux essayer avec la commande awk. (pour plus de renseignement voir GoOgle).
Tu peux essayer avec la commande awk. (pour plus de renseignement voir GoOgle).
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
17 sept. 2007 à 12:20
17 sept. 2007 à 12:20
Salut,
sed '/cible\*\{4\}/ s/cible\*\{4\}/cible = 2/' fichierRajoute l'option "-i" pour une modification du fichier original :
sed -i.bak '/cible\*\{4\}/ s/cible\*\{4\}/cible = 2/' fichier';-))
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
17 sept. 2007 à 12:22
17 sept. 2007 à 12:22
Salut,
J'ai deja un peu essayé sed mais si j'ai bien compris ça ne modifie pas directement le fichier.
Non, tu n'as pas bien compris :-)
Il faut utiliser l'option -i ou -i.extension (pour sauvegarder l'original - au lieu d'extension tu peux utiliser n'importe quel suffixe, ex : bak, save, orig, etc.....)
J'ai deja un peu essayé sed mais si j'ai bien compris ça ne modifie pas directement le fichier.
Non, tu n'as pas bien compris :-)
Il faut utiliser l'option -i ou -i.extension (pour sauvegarder l'original - au lieu d'extension tu peux utiliser n'importe quel suffixe, ex : bak, save, orig, etc.....)
repie
Messages postés
6
Date d'inscription
lundi 17 septembre 2007
Statut
Membre
Dernière intervention
17 septembre 2007
17 sept. 2007 à 13:44
17 sept. 2007 à 13:44
merci pour ces réponses, je crois que c'est l'esprit de ce que je cherche.
Malheureusement je n'ai pas réussi à l'appliquer.
D'une part l'option -i n'est pas reconnue dans mon environnement :/
D'autre part si je fais :
fichier1 contient : cible = 8
sed '/cible\*\{4\}/ s/cible\*\{4\}/cible = 2/' fichier1 < fichier2
fichier2 reste identique à fichier1 (et il ne bronche pas quand j execute la commande).
Malheureusement je n'ai pas réussi à l'appliquer.
D'une part l'option -i n'est pas reconnue dans mon environnement :/
D'autre part si je fais :
fichier1 contient : cible = 8
sed '/cible\*\{4\}/ s/cible\*\{4\}/cible = 2/' fichier1 < fichier2
fichier2 reste identique à fichier1 (et il ne bronche pas quand j execute la commande).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
repie
Messages postés
6
Date d'inscription
lundi 17 septembre 2007
Statut
Membre
Dernière intervention
17 septembre 2007
17 sept. 2007 à 14:08
17 sept. 2007 à 14:08
Ah j'ai réussi je crois bien :
cat fichier1 | sed 's/cible..../cible = 2/g' > fichier2
Apres je crois que je suis condamné à faire un \mv :/
cat fichier1 | sed 's/cible..../cible = 2/g' > fichier2
Apres je crois que je suis condamné à faire un \mv :/
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
17 sept. 2007 à 14:11
17 sept. 2007 à 14:11
Quelle version de sed ?
D'autre part l'exemple que je t'ai donné était pour un motif correspondant à "cible****", dans ton cas particulier il faut simplement mettre :
D'autre part l'exemple que je t'ai donné était pour un motif correspondant à "cible****", dans ton cas particulier il faut simplement mettre :
sed 's/cible = 8/cible = 2/' fichier1 > fichier2;-))
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
17 sept. 2007 à 14:13
17 sept. 2007 à 14:13
T'es obligé de le faire avec sed?
Sinon il y a aussi Perl
lami20j
Sinon il y a aussi Perl
perl -pi.orig -e 's/cible[*]{4}/cible = 2/g' fichier--
lami20j
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
17 sept. 2007 à 14:24
17 sept. 2007 à 14:24
Non il n'est pas obligé... y'a "ed" aussi ;-)))
Perl c'est pour les faignants ;-DDD
Edit : Tiens faignasse, va voir là !
Perl c'est pour les faignants ;-DDD
Edit : Tiens faignasse, va voir là !
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
17 sept. 2007 à 15:17
17 sept. 2007 à 15:17
c'est fait perl analyse d entiers dans une chaine#1
;-))
;-))
repie
Messages postés
6
Date d'inscription
lundi 17 septembre 2007
Statut
Membre
Dernière intervention
17 septembre 2007
17 sept. 2007 à 14:36
17 sept. 2007 à 14:36
L'idée c'est d'écraser la valeur de cible. Ce qui fait office de 'n'importe quel caractere' c'est '.' (par défaut j'ai mis *, désolé pour l'ambigüité)
Pour la version de sed je sais pas.
Pour la version de sed je sais pas.
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
17 sept. 2007 à 14:40
17 sept. 2007 à 14:40
sed --version;-))
repie
Messages postés
6
Date d'inscription
lundi 17 septembre 2007
Statut
Membre
Dernière intervention
17 septembre 2007
17 sept. 2007 à 15:33
17 sept. 2007 à 15:33
La commande marche pas :/ désolé
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
17 sept. 2007 à 15:40
17 sept. 2007 à 15:40
sed -v
repie
Messages postés
6
Date d'inscription
lundi 17 septembre 2007
Statut
Membre
Dernière intervention
17 septembre 2007
17 sept. 2007 à 16:21
17 sept. 2007 à 16:21
non plus : illegal option
décidément ..
décidément ..
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
17 sept. 2007 à 16:29
17 sept. 2007 à 16:29
Affiche
lami20j
sed -hou
sed --helpquelque soit le résultat--
lami20j
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
17 sept. 2007 à 16:31
17 sept. 2007 à 16:31
sedtout court alors et t'auras droit à toutes les options ;-))