[Langage C] Incompatibilité Sed et Langage C
Fermé
bkrqpzef
Messages postés
197
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
13 juillet 2011
-
8 avril 2009 à 19:15
bkrqpzef Messages postés 197 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 13 juillet 2011 - 9 avril 2009 à 14:31
bkrqpzef Messages postés 197 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 13 juillet 2011 - 9 avril 2009 à 14:31
A voir également:
- [Langage C] Incompatibilité Sed et Langage C
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage pascal - Télécharger - Édition & Programmation
- Débuter langage batch windows - Guide
12 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
8 avril 2009 à 19:30
8 avril 2009 à 19:30
Salut,
A tout hasard...
- T'as essayé de changer de séparateurs ? (| ou §)
- T'as essayé sans l'option "-i" ?
A tout hasard...
- T'as essayé de changer de séparateurs ? (| ou §)
- T'as essayé sans l'option "-i" ?
bkrqpzef
Messages postés
197
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
13 juillet 2011
5
8 avril 2009 à 19:38
8 avril 2009 à 19:38
Oui changer les séparateur maintenant je sais faire. :D
Aucun changement.
Pour le "-i" étant donné que je dois modifier le fichier d'origine je ne sais pas trop comment m'en passer.
En faisant :
sed '#maison#bateau#' fichier.txt > fichier.txt
?
Aucun changement.
Pour le "-i" étant donné que je dois modifier le fichier d'origine je ne sais pas trop comment m'en passer.
En faisant :
sed '#maison#bateau#' fichier.txt > fichier.txt
?
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
8 avril 2009 à 20:01
8 avril 2009 à 20:01
En faisant :
sed '#maison#bateau#' fichier.txt > fichier.txt
?
Oui ;-))
sed '#maison#bateau#' fichier.txt > fichier.txt
?
Oui ;-))
bkrqpzef
Messages postés
197
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
13 juillet 2011
5
9 avril 2009 à 10:39
9 avril 2009 à 10:39
Désolé de l'attente, une urgence. :)
Oula avec ça je ne peux même pas ouvrir le fichier avec un éditeur de texte.
(Impossible de détecter le codage des caractères) UTF-8, iso8859-1 etc ....
En tout cas c'est un indice :D
Oula avec ça je ne peux même pas ouvrir le fichier avec un éditeur de texte.
(Impossible de détecter le codage des caractères) UTF-8, iso8859-1 etc ....
En tout cas c'est un indice :D
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
9 avril 2009 à 10:57
9 avril 2009 à 10:57
system("sed -i '#maison#bateau#' fichier.txt");Dis donc !!! Je m'aperçois qu'il manque la commande de "sed" = > s pour substitution !!!
system("sed -i 's#maison#bateau#' fichier.txt");C'est une erreur de frappe ou le programme est comme ça ?
bkrqpzef
Messages postés
197
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
13 juillet 2011
5
9 avril 2009 à 11:08
9 avril 2009 à 11:08
Faute de frappe sur le forum dsl.
Non pas d'erreur dans le programme.
Non pas d'erreur dans le programme.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bkrqpzef
Messages postés
197
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
13 juillet 2011
5
9 avril 2009 à 11:11
9 avril 2009 à 11:11
En fait c'est un fichier .html que je modifie. (en bas de la page)
au départ j'ai :
et parfois je me retrouve avec :
parfois avec seulement :
etc..
Et même parfois je me retrouve avec une page complétement vide...
au départ j'ai :
<div align="center">| maison | maison | maison |</div> </body> </html>
et parfois je me retrouve avec :
<div align="center">| bateau | bateau | bateau |</div> </b
parfois avec seulement :
<div align="
etc..
Et même parfois je me retrouve avec une page complétement vide...
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
9 avril 2009 à 11:15
9 avril 2009 à 11:15
Essaye avec les séparateurs par défaut "/", dans la mesure où dans l'expression à modifier il n'y a pas de "slash"... sait-on jamais ;-)
bkrqpzef
Messages postés
197
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
13 juillet 2011
5
9 avril 2009 à 11:20
9 avril 2009 à 11:20
pareil :'(
bkrqpzef
Messages postés
197
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
13 juillet 2011
5
9 avril 2009 à 11:23
9 avril 2009 à 11:23
Sed n'a pas l'air de s'adapter dans ces cas là.
Une alternative à sed peut être ?
Une alternative à sed peut être ?
Bonjour,
sed '#maison#bateau#' fichier.txt > fichier.txt
Il n'y a pas de raison que ça marche. Vous écrasez le fichier avant de le traduire.
system("sed -i '#maison#bateau#' fichier.txt")
Je parierai que fichier.txt est en cours d'écriture par votre programme. Si oui, pensez à le fermer, ou au moins à faire un fflush() pour purger ce qui est resté en mémoire.
Manu
sed '#maison#bateau#' fichier.txt > fichier.txt
Il n'y a pas de raison que ça marche. Vous écrasez le fichier avant de le traduire.
system("sed -i '#maison#bateau#' fichier.txt")
Je parierai que fichier.txt est en cours d'écriture par votre programme. Si oui, pensez à le fermer, ou au moins à faire un fflush() pour purger ce qui est resté en mémoire.
Manu
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
9 avril 2009 à 12:57
9 avril 2009 à 12:57
sed '#maison#bateau#' fichier.txt > fichier.txt
Il n'y a pas de raison que ça marche. Vous écrasez le fichier avant de le traduire.
Rhô p*tain, j'avais même pas fais gaffe à ça ;-[
Merci ;-))
Il n'y a pas de raison que ça marche. Vous écrasez le fichier avant de le traduire.
Rhô p*tain, j'avais même pas fais gaffe à ça ;-[
Merci ;-))
bkrqpzef
Messages postés
197
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
13 juillet 2011
5
9 avril 2009 à 13:20
9 avril 2009 à 13:20
Muhahaha bien vu Manu ;)
J'ai un peu modifié mon code et c'est bon !!
Le fichier était effectivement en lecture par fopen, un petit fclose avant la commande system : Nickel !!
Un conflit j'aurais du m'en douter... Merci :p
J'ai un peu modifié mon code et c'est bon !!
Le fichier était effectivement en lecture par fopen, un petit fclose avant la commande system : Nickel !!
Un conflit j'aurais du m'en douter... Merci :p
bkrqpzef
Messages postés
197
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
13 juillet 2011
5
9 avril 2009 à 13:53
9 avril 2009 à 13:53
Ou pas en fait, j'ai été trop rapide !
J'ai en même temps sauté un chdir("../");
Du coup, c'est sûr que la cible n'était pas la même ....
Même problème après le fclose :p
J'ai en même temps sauté un chdir("../");
Du coup, c'est sûr que la cible n'était pas la même ....
Même problème après le fclose :p
bkrqpzef
Messages postés
197
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
13 juillet 2011
5
9 avril 2009 à 14:31
9 avril 2009 à 14:31
Bon j'ai pas mieux que :
Créer un fichier .sh contenant toutes les instructions sed et différents cd, nommé script.sh par exemple.
Si j'appelle ce fichier directement dans le programme (bob.exe) avec un system("sh script.sh"); le problème est exactement le même.
Il faut donc un troisième fichier .sh pour lancer automatiquement bob.exe et le script.sh.
Mystère...
Créer un fichier .sh contenant toutes les instructions sed et différents cd, nommé script.sh par exemple.
Si j'appelle ce fichier directement dans le programme (bob.exe) avec un system("sh script.sh"); le problème est exactement le même.
Il faut donc un troisième fichier .sh pour lancer automatiquement bob.exe et le script.sh.
Mystère...