Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Problème BASH affichage chaine
Envoyé par: YuGiOhJCJ

Bonjour,
j'ai un problème avec un script bash.

D'abord voici une partie d'un contenu de fichier que je souhaite inclure dans une chaine de caractères :
cat ~/.kde/share/apps/knotes/notes.ics | grep DESCRIPTION | cut -d ":" -f 2 | grep -n "" | grep ^1: | cut -d ":" -f 2-
Jeudi 24 avril 2008\nCorriger l'anglais

Je souhaite obtenir la chaine de caractères suivante :
"abc Jeudi 24 avril 2008\nCorriger l'anglais def"

Voici comment je procède :

echo "abc `cat ~/.kde/share/apps/knotes/notes.ics | grep DESCRIPTION | cut -d ":" -f 2 | grep -n "" | grep ^1: | cut -d ":" -f 2-` def"

J'obtiens ce résultat :

 defJeudi 24 avril 2008\nCorriger l'anglais

Comment expliquez-vous cela?

Merci.

---

[yugiohjcj.cf]

Poste le Sunday 23 March 2008 12:51:33
Répondre     Citer    
Re: Problème BASH affichage chaine
Envoyé par: |/|BaH

Je ne l'explique, ni ne le constate chez moi...

Poste le Monday 24 March 2008 11:08:55
Répondre     Citer    
Re: Problème BASH affichage chaine
Envoyé par: YuGiOhJCJ

Ah...Moi je pense que ça peut venir de caractères cachés qui se trouvent dans la ligne que je récupère dans le fichier...Peut être influent-ils dans mon script. Mais je ne sais pas comment le démontrer.

---

[yugiohjcj.cf]

Poste le Monday 24 March 2008 12:09:19
Répondre     Citer    
Re: Problème BASH affichage chaine
Envoyé par: |/|BaH

T'as fait 'cat -A' pour vérifier?
Est-ce que ça suffit?

En fait, je ne vois pas très bien dont tu parles...

Poste le Tuesday 25 March 2008 03:24:08
Répondre     Citer    
Re: Problème BASH affichage chaine
Envoyé par: YuGiOhJCJ

Oui j'avais essayé et j'ai ça :

DESCRIPTION:Jeudi 24 avril 2008\nCorriger l'anglais^M$

Il n'y a rien d'exceptionnel non?

---

[yugiohjcj.cf]

Poste le Tuesday 25 March 2008 09:07:59
Répondre     Citer    
Re: Problème BASH affichage chaine
Envoyé par: ]/[BaH

Elle vient d'où cette note ?
...parceque
Citation
contributeurs léa
Les éditeurs de texte qui ne supportent pas le codage à la Microsoft affichent donc ce ^M superflu...
(in [upprimer_les_%5EM_dans_les_fichiers_ASCII.html" rel="nofollow">www.lea-linux.org])

J'ai inséré des unicodes, j'ai toujours un résultat conforme.

Poste le Tuesday 25 March 2008 09:56:08
Répondre     Citer    
Re: Problème BASH affichage chaine
Envoyé par: YuGiOhJCJ

Je viens de rédiger cette ligne dans un nouveau fichier dans mon éditeur de texte vim.
Il n'y a fonc plus le caractère ^M en fin de ligne.
Quand je fais :
cat -A test_chaine_fichier
J'obtiens :
"abc Jeudi 24 avril 2008\nCorriger l'anglais def"

Par contre si je récupère mon autre fichier avec le ^M, que je retire toutes les lignes de ce fichier en conservant uniquement celle-ci, je tombe toujours sur :
 defDESCRIPTION:Jeudi 24 avril 2008\nCorriger l'anglais
Je suis sûr qu'il y a un caractère caché (peut être est-ce le ^M) qui pose un problème.

Est-ce qu'il est possible d'ajouter un caractère ^M avec vim?

---

[yugiohjcj.cf]

Poste le Tuesday 25 March 2008 14:41:22
Répondre     Citer    
Re: Problème BASH affichage chaine
Envoyé par: YuGiOhJCJ

C'était bien les ^M qui posaient problème.
Je les ai retiré avec le script de lealinux :
[upprimer_les_%5EM_dans_les_fichiers_ASCII.html" rel="nofollow">www.lea-linux.org]

Puis j'ai fait un nouvel essai :
$ echo "abc `cat ~/.kde/share/apps/knotes/notes.ics | grep DESCRIPTION | cut -d ":" -f 2 | grep -n "" | grep ^1: | cut -d ":" -f 2-` def"
 defJeudi 24 avril 2008\nCorriger l'anglais
bash-3.1$ echo "abc `cat mon_nouveau_fichier.txt | grep DESCRIPTION | cut -d ":" -f 2 | grep -n "" | grep ^1: | cut -d ":" -f 2-` def"
abc Jeudi 24 avril 2008\nCorriger l'anglais def

Super nen?

---

[yugiohjcj.cf]

Poste le Saturday 29 March 2008 15:41:37
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Problème BASH affichage chaine
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons