A voir également:
- Espaces supprimés en debut de ligne sur stdin
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Site de vente en ligne particulier - Guide
- Partage de photos en ligne - Guide
- Comment supprimer une page sur word - Guide
- Ne pas apparaître en ligne sur instagram - Guide
8 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 895
13 juil. 2007 à 13:41
13 juil. 2007 à 13:41
Salut,
Peux-tu s'il te plaît coller à nouveau to exemple de mail mais en le mettant entre les balises "Code" afin qu'il conserve les espaces et tabulations et qu'on puisse traiter ton probème au mieux ;-)
Peux-tu s'il te plaît coller à nouveau to exemple de mail mais en le mettant entre les balises "Code" afin qu'il conserve les espaces et tabulations et qu'on puisse traiter ton probème au mieux ;-)
oups, désolé!
From xxxx@xxxxx.fr Fri Jul 13 13:06:55 2007 Received: from localhost (mx [117.220.18.15]) by plan.xxxxx.fr (8.13.8/8.13.4) with ESMTP id l6DB6t4M025705 for <xxxx@xxxxxx.fr>; Fri, 13 Jul 2007 13:06:55 +0200 (MEST) Received: from plan.xxxxxx.fr ([117.220.18.60]) by localhost (tan.xxxxx.fr [117.220.18.15]) (amavisd-new, port 10041) with LMTP id 09100-08 for <xxxx@xxxxx.fr>; Fri, 13 Jul 2007 13:06:22 +0200 (MEST)
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
13 juil. 2007 à 13:53
13 juil. 2007 à 13:53
(si il y a une solution plus simple pour eviter ce desagrement je suis aussi preneur..)
utiliser une simple quote dans laquelle le shell ne substitue pas : '*'
utiliser une simple quote dans laquelle le shell ne substitue pas : '*'
ca marche pas chez moi :
tanit: test='*' tanit: echo $test AmIinRDV Courrier ind&AOk-sirable Desktop Documents Drafts EI_1_214 ENV.10-11-06-13:57:36 ENV.15-09-06-09:36:34 ENV.18-09-06-15:35:36 IsSenderVIP Mail M bash bashrc2.bak c...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
13 juil. 2007 à 15:43
13 juil. 2007 à 15:43
étrange. quel shell ?
et avec test='\*'
et avec test='\*'
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
13 juil. 2007 à 16:31
13 juil. 2007 à 16:31
Re-
Essaye avec une boucle "for" et en changeant le séparateur d'entrée ($IFS) :
Essaye avec une boucle "for" et en changeant le séparateur d'entrée ($IFS) :
#! /bin/bash OLDIFS=$IFS IFS=$'\n' for line in $(cat fichier) do if [ "$line" = "*" ] then echo \* >> $HOME/$tmp_mail else echo -e "$line" >> $HOME/$tmp_mail fi done IFS=$OLDIFS;-))
Mon probleme c'etait de proteger le contenu d'une variable assignée de facon automatique. L'idéal serait que je n'ai pas besoin de faire moi meme la protection. Mais c'est pas grave, je vais susbtituer toutes les etoiles par \* avant de faire
Pour le changement d'IFS j'essaierais ce soir (j'ai deja perdu tellement de temps sur cette co****), j'ai trouvé une solution temporaire en ajoutant un # en début de chaque ligne avant l'envoi a mon programme externe qui enregistre l'entrée standard dans un fichier, puis j'appel sed afin de supprimer le 1er caractère de chaque ligne et je réenregistre le tout dans un nouveau fichier... Je perd la distinction entre les tabulations et les espaces, mais Sendmail est content, il veut bien envoyé mon mail ainsi traité.
Merci encore pour vos reponses
echo $var >> fichier
Pour le changement d'IFS j'essaierais ce soir (j'ai deja perdu tellement de temps sur cette co****), j'ai trouvé une solution temporaire en ajoutant un # en début de chaque ligne avant l'envoi a mon programme externe qui enregistre l'entrée standard dans un fichier, puis j'appel sed afin de supprimer le 1er caractère de chaque ligne et je réenregistre le tout dans un nouveau fichier... Je perd la distinction entre les tabulations et les espaces, mais Sendmail est content, il veut bien envoyé mon mail ainsi traité.
Merci encore pour vos reponses
grrr, mon problème avec l'etoile n'est pas résolu.
Ce n'est pas moi qui assigne le contenu des variables, je ne peut donc pas mettre \* à la place des étoiles. Et si $line par exemple contient :
X-Spam-status: *
le resultat c'est que dans mon fichier j'aurais :
X-Spam-status: AmIinRDV Courrier ind&AOk-sirable Desktop Documents Drafts EI_1_214 ENV.10-11-06-13:57:36 ENV.15-09-06-09:36:34 ENV.18-09-06-15:35:36 IsSenderVIP Mail M bash bashrc2.bak c...
Je remplacerais bien avec sed, mais il faut que j'evalue la variable avec echo $line | sed ... et il va deja me remplacer les etoiles par le contenu de mon dossier non ??
while read line do #if [ "$line" = "*" ] # then echo \* >> $HOME/${tmp_mail}2 #else echo $line >> $HOME/${tmp_mail}2 #fi done
Ce n'est pas moi qui assigne le contenu des variables, je ne peut donc pas mettre \* à la place des étoiles. Et si $line par exemple contient :
X-Spam-status: *
le resultat c'est que dans mon fichier j'aurais :
X-Spam-status: AmIinRDV Courrier ind&AOk-sirable Desktop Documents Drafts EI_1_214 ENV.10-11-06-13:57:36 ENV.15-09-06-09:36:34 ENV.18-09-06-15:35:36 IsSenderVIP Mail M bash bashrc2.bak c...
Je remplacerais bien avec sed, mais il faut que j'evalue la variable avec echo $line | sed ... et il va deja me remplacer les etoiles par le contenu de mon dossier non ??