Utilisation de SED
Résolu/Fermé
pcsystemd
Messages postés
691
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
15 janvier 2024
-
22 févr. 2012 à 15:09
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 23 févr. 2012 à 09:14
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 23 févr. 2012 à 09:14
A voir également:
- Utilisation de SED
- Notice d'utilisation - Guide
- Utilisation chromecast - Guide
- Désolé l'utilisation de la base de données a expiré epic games - Forum Jeux vidéo
- Dossier en cours d'utilisation - Forum Windows 8 / 8.1
- Une restriction de compte utilisateur vous empeche de vous connecter ✓ - Forum Réseau
6 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 407
22 févr. 2012 à 15:16
22 févr. 2012 à 15:16
Salut,
Apparemment dans ta chaîne de remplacement il y a des slashs (/) ;-((
Remplace donc le caractère délimiteur (caractère slash par défaut) de la commande substitution, par un autre caractère (le dièse "#" par exemple) :
;-))
s/\bEVENT\b/ 82|01/01/2012 80|01/02/2012 00:00:00 CET/
Apparemment dans ta chaîne de remplacement il y a des slashs (/) ;-((
Remplace donc le caractère délimiteur (caractère slash par défaut) de la commande substitution, par un autre caractère (le dièse "#" par exemple) :
sed -e " s#\bDATE\b#${DATE}# s#\bEVENT\b#${EVENT}# s#\bNSOL\b#${NSOL}# " stats.tpl | mail -s "blabla ${DATE}" toto@mail.fr
;-))
pcsystemd
Messages postés
691
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
15 janvier 2024
22
Modifié par pcsystemd le 22/02/2012 à 15:26
Modifié par pcsystemd le 22/02/2012 à 15:26
Salut,
Même problème mais avec une erreur différente :
sed: -e expression #1, char 66: unterminated 's' command
Merci
L'accès au savoir est la première liberté que chaque homme devrait avoir.
Même problème mais avec une erreur différente :
sed: -e expression #1, char 66: unterminated 's' command
Merci
L'accès au savoir est la première liberté que chaque homme devrait avoir.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 407
22 févr. 2012 à 15:33
22 févr. 2012 à 15:33
Peux-tu afficher le contenu des variables "${DATE}", "${EVENT}" et "${NSOL}" ?
pcsystemd
Messages postés
691
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
15 janvier 2024
22
22 févr. 2012 à 16:44
22 févr. 2012 à 16:44
Voici le contenu des variables :
DATE=22-02-2012
EVENT =50|01/02/2010 00:00:00 CET
77|01/03/2010 00:00:00 CET
62|01/04/2010 00:00:00 CEST
48|01/05/2010 00:00:00 CEST
44|01/06/2010 00:00:00 CEST
41|01/07/2010 00:00:00 CEST
42|01/08/2010 00:00:00 CEST
66|01/09/2010 00:00:00 CEST
etc..
NSOL=256489
DATE=22-02-2012
EVENT =50|01/02/2010 00:00:00 CET
77|01/03/2010 00:00:00 CET
62|01/04/2010 00:00:00 CEST
48|01/05/2010 00:00:00 CEST
44|01/06/2010 00:00:00 CEST
41|01/07/2010 00:00:00 CEST
42|01/08/2010 00:00:00 CEST
66|01/09/2010 00:00:00 CEST
etc..
NSOL=256489
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 407
22 févr. 2012 à 17:09
22 févr. 2012 à 17:09
Bon apparemment "sed" n'aime pas trop la substitution avec une variable ayant des sauts de ligne (s#\bEVENT\b#${EVENT}#) ;-((.
Donc je te propose de remplacer cette ligne par :
Ici le flag "e" (pour exécuter) va demander à "sed" de substituer le motif par le résultat de la commande "cat event_mois_${DATE}.txt".
;-))
Donc je te propose de remplacer cette ligne par :
s#\bEVENT\b#cat event_mois_${DATE}.txt#e
Ici le flag "e" (pour exécuter) va demander à "sed" de substituer le motif par le résultat de la commande "cat event_mois_${DATE}.txt".
$ echo "${DATE}" 22-02-2012 $ cat event_22-02-2012.txt 50|01/02/2010 00:00:00 CET 77|01/03/2010 00:00:00 CET 62|01/04/2010 00:00:00 CEST 48|01/05/2010 00:00:00 CEST 44|01/06/2010 00:00:00 CEST 41|01/07/2010 00:00:00 CEST 42|01/08/2010 00:00:00 CEST 66|01/09/2010 00:00:00 CEST $ echo "${NSOL}" 256489 $ cat plop Nous sommes le DATE Voici les évenements : EVENT Et voici le contenu de la variable (nsol) : NSOL $ sed "s#DATE#${DATE}# s#EVENT#cat event_${DATE}.txt#e s#NSOL#${NSOL}# " plop Nous sommes le 22-02-2012 Voici les évenements : 50|01/02/2010 00:00:00 CET 77|01/03/2010 00:00:00 CET 62|01/04/2010 00:00:00 CEST 48|01/05/2010 00:00:00 CEST 44|01/06/2010 00:00:00 CEST 41|01/07/2010 00:00:00 CEST 42|01/08/2010 00:00:00 CEST 66|01/09/2010 00:00:00 CEST Et voici le contenu de la variable (nsol) : 256489 $
;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pcsystemd
Messages postés
691
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
15 janvier 2024
22
22 févr. 2012 à 17:17
22 févr. 2012 à 17:17
Merci zipe31,
je teste demain et je te tiens au courant.
Bonne soirée.
je teste demain et je te tiens au courant.
Bonne soirée.
pcsystemd
Messages postés
691
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
15 janvier 2024
22
23 févr. 2012 à 08:26
23 févr. 2012 à 08:26
Salut zipe31,
cela fonctionne parfaitement. Je te remercie encore.
Bonne journée
cela fonctionne parfaitement. Je te remercie encore.
Bonne journée
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 407
23 févr. 2012 à 09:14
23 févr. 2012 à 09:14
De rien ;-))