Sed et chaines de caracteres
Résolu/Fermé
crazyghandi
Messages postés
312
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
4 octobre 2011
-
24 mars 2009 à 01:24
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 24 mars 2009 à 07:39
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 24 mars 2009 à 07:39
A voir également:
- Sed et chaines de caracteres
- Caractères ascii - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Caractères spéciaux clavier azerty - Guide
- Caractères spéciaux - Guide
- Exemple de mot de passe à 8 caractères - Guide
7 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
24 mars 2009 à 01:38
24 mars 2009 à 01:38
Salut,
J'imagine que le guillemet doit prendre toute la ligne ?
Ce code devrait réaliser ce que tu veux :
Cdlt
J'imagine que le guillemet doit prendre toute la ligne ?
Ce code devrait réaliser ce que tu veux :
ligne = '"mot1 *mot2 mot3* //mot4' out=$(echo $ligne | sed -r 's#//(.*)#<!--\1-->#g; s#"(.*)#<p>\1</p>#g; s#\*(.*)\*#<strong>\1</strong>#g') echo $out
Cdlt
crazyghandi
Messages postés
312
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
4 octobre 2011
19
24 mars 2009 à 01:59
24 mars 2009 à 01:59
merci pour la reponse.
je commence a comprendre
en realite je veux lire un fichier ligne par ligne pour le convertir en html et le mettre a jour dans le fichier de sortie :
while read ligne
do
#echo -------------------
out=$(echo $ligne | sed -r 's#//(.*)#<!--\1-->#g; s#"(.*)#<p>\1</p>#g; s#\*(.*)\*#<strong>\1</strong>#g') > t.xhtml
#echo sortie
#echo $out
#echo -------------------
done < $2
seulement il me sort un fichier vide, comment faire ?
encore merci
je commence a comprendre
en realite je veux lire un fichier ligne par ligne pour le convertir en html et le mettre a jour dans le fichier de sortie :
while read ligne
do
#echo -------------------
out=$(echo $ligne | sed -r 's#//(.*)#<!--\1-->#g; s#"(.*)#<p>\1</p>#g; s#\*(.*)\*#<strong>\1</strong>#g') > t.xhtml
#echo sortie
#echo $out
#echo -------------------
done < $2
seulement il me sort un fichier vide, comment faire ?
encore merci
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
24 mars 2009 à 02:05
24 mars 2009 à 02:05
Normal,
Si tu rediriges cette sortie :
out=$(echo $ligne | sed -r 's#//(.*)#<!--\1-->#g; s#"(.*)#<p>\1</p>#g; s#\*(.*)\*#<strong>\1</strong>#g')
dans un fichier, rien ne s'affichera à l'écran puisque le résultat de cette commande affectera out. Donc aucun affichage à l'écran.
Utilise plutôt :
out=$(echo $ligne | sed -r 's#//(.*)#<!--\1-->#g; s#"(.*)#<p>\1</p>#g; s#\*(.*)\*#<strong>\1</strong>#g')
echo $out > t.xhtml #ceci stocke dans le fichier t.xhtml
echo $out #ceci affiche à l'écran.
Si tu rediriges cette sortie :
out=$(echo $ligne | sed -r 's#//(.*)#<!--\1-->#g; s#"(.*)#<p>\1</p>#g; s#\*(.*)\*#<strong>\1</strong>#g')
dans un fichier, rien ne s'affichera à l'écran puisque le résultat de cette commande affectera out. Donc aucun affichage à l'écran.
Utilise plutôt :
out=$(echo $ligne | sed -r 's#//(.*)#<!--\1-->#g; s#"(.*)#<p>\1</p>#g; s#\*(.*)\*#<strong>\1</strong>#g')
echo $out > t.xhtml #ceci stocke dans le fichier t.xhtml
echo $out #ceci affiche à l'écran.
crazyghandi
Messages postés
312
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
4 octobre 2011
19
24 mars 2009 à 02:20
24 mars 2009 à 02:20
en cherchant sur des forums j'ai trouve :
sed 's@^\(.*\)\*\(.*\)\*.*//\(.*$\)@<p>\1<strong>\2<\\strong><--!\3--><//p>@g' $2 >> t.xhtml
c'est pas mal mais n'opere pas les modifs.
au final c'est mieux de traiter tou d'un coup avec sed ou ligne par ligne avec while ?
merci
sed 's@^\(.*\)\*\(.*\)\*.*//\(.*$\)@<p>\1<strong>\2<\\strong><--!\3--><//p>@g' $2 >> t.xhtml
c'est pas mal mais n'opere pas les modifs.
au final c'est mieux de traiter tou d'un coup avec sed ou ligne par ligne avec while ?
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
crazyghandi
Messages postés
312
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
4 octobre 2011
19
24 mars 2009 à 02:31
24 mars 2009 à 02:31
while read ligne
do
out=$(echo $ligne | sed -r 's#//(.*)#<!--\1-->#g; s#"(.*)#<p>\1</p>#g; s#\*(.*)\*#<strong>\1</strong>#g')
echo $out > t.xhtml #ceci stocke dans le fichier t.xhtml
done < $2
ceci me redonne un fichier vide
do
out=$(echo $ligne | sed -r 's#//(.*)#<!--\1-->#g; s#"(.*)#<p>\1</p>#g; s#\*(.*)\*#<strong>\1</strong>#g')
echo $out > t.xhtml #ceci stocke dans le fichier t.xhtml
done < $2
ceci me redonne un fichier vide
crazyghandi
Messages postés
312
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
4 octobre 2011
19
24 mars 2009 à 02:35
24 mars 2009 à 02:35
echo $out >> t.xhtml #ceci stocke dans le fichier t.xhtml
ceci marche c'est super
pourriez vous me detailler la commande que je puisse tout seul rajouter d'autres balises du genre
transformer {img} en <img> ou ~texte~ en <i>texte</i> ?
de plus le <p> ne marche pas tout a fait bien je voudrais que chaque ligne soit completement encadre par <p> et </p>
encore merci pour votre aide
ceci marche c'est super
pourriez vous me detailler la commande que je puisse tout seul rajouter d'autres balises du genre
transformer {img} en <img> ou ~texte~ en <i>texte</i> ?
de plus le <p> ne marche pas tout a fait bien je voudrais que chaque ligne soit completement encadre par <p> et </p>
encore merci pour votre aide
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
24 mars 2009 à 07:39
24 mars 2009 à 07:39
Salut,
je trouve des tas d'exemples pour sed sur les forums mais aucun n'explique completement l'utilisation.
Sed - Introduction à SED - Part I
Sed - Introduction à SED - Part II
Sed - Introduction à SED - Part III
Sans oublier FAQ SED
je trouve des tas d'exemples pour sed sur les forums mais aucun n'explique completement l'utilisation.
Sed - Introduction à SED - Part I
Sed - Introduction à SED - Part II
Sed - Introduction à SED - Part III
Sans oublier FAQ SED