Bonjour à tous!

Désolé de vous embêter avec mes petits problèmes, mais dites-le moi si j'encombre le forum inutilement...

Alors voilà, je me suis rédigé un petit script que j'utilise 30x par jour grâce à un raccourci qui l'appelle, présenté ci dessous:
#!/bin/sh
/bin/date +%Y_%m-%d-%Hh%M|/usr/bin/xclip
/bin/date +%Y_%m-%d-%Hh%M|/usr/bin/xclip -selection secondary
/bin/date +%Y_%m-%d-%Hh%M|/usr/bin/xclip -selection clipboard
Ce script colle la date sous la forme que j'ai choisi dans le presse papier, que je peux ensuite coller avec le bouton du milieu ou Ctrl+V ce qui donne ça:
2009_04-30-18h23
Malheureusement, il se glisse un caractère " retour charriot" ou "ligne suivante" ou "entrée" (je ne sais pas le nom exact) après la date et ça m'embête. Snif. En gros lorsque je nomme des fichier en utilisant ce que retourne ce script, il m'ajoute une ligne de retour charriot, quand ce n'est pas un caractère bizarre...

Moi qui étais si fier de mon merveilleux script si pratique qui m'aidais à faire de la pub pour linux dans mon labo... Aidez-moi à retrouvé ma dignité et à refaire ma propagande!8-)
Avec quel outil rédiges-tu ce script ?
La commande bin/date par défaut ajoute un caractère \n (0x0a) (nouvelle ligne)
Si ton problème vient de ce caractère, essaie en passant par une variable ou avec un echo + \c
ma_date=$(date +%Y_%m-%d-%Hh%M)
echo -e "$date\c" | ce_que_tu_veux


exemple
date +%Y_%m-%d-%Hh%M | hexdump -C
00000000  32 30 30 39 5f 30 34 2d  33 30 2d 31 38 68 34 32  |2009_04-30-18h42|
00000010  0a                                                |.|
00000011
ma_date=$(date +%Y_%m-%d-%Hh%M)
echo -e "$ma_date\c" | hexdump -C
0000000  32 30 30 39 5f 30 34 2d  33 30 2d 31 38 68 34 32  |2009_04-30-18h42|
00000010
Plus dense :
echo -e "$(date +%Y_%m-%d-%Hh%M)\c" | hexdump -C
00000000  32 30 30 39 5f 30 34 2d  33 30 2d 31 38 68 34 35  |2009_04-30-18h45|
00000010
L'avantage de passer par une variable est que tu ne fais appel à date qu'une seule fois donc si tu désires changer de format, tu n'auras pas à modifier trois lignes.
Merci pmarion! Je vais essayer ça!
@nouvo09: ben... heu gedit?... en fait, je ne comprend pas trop la question je crois...
Pour en revenir à l'utilisation d'une variable (et une seule)
Si le script est lancé aux abords d'un changement de minute, le deuxième ou le troisième appel de date peut donner une autre valeur que le premier.
j'ai l'impression que le "new line" ne provient pas de la commande date:
[Tower F9]/home/user $ echo "on est le `date +%Y_%m-%d-%Hh%M` aujourd'hui"
on est le 2009_04-30-21h13 aujourd'hui
et que c'est plutot la marque de fin d'une commande shell:
00000000 6f 6e 20 65 73 74 20 6c 65 20 32 30 30 39 5f 30 |on est le 2009_0|
00000010 34 2d 33 30 2d 32 31 68 31 37 20 61 75 6a 6f 75 |4-30-21h17 aujou|
00000020 72 64 27 68 75 69 0a |rd'hui.|
00000027
Apparemment la fin d'un texte est toujours marquée par un "0x0a":

$ echo "on est le `date +%Y_%m-%d-%Hh%M` aujourd'hui" > essai.txt
$ l essai.txt
-rw-rw-r-- 1 user user 39 avr 30 21:18 essai.txt

$ cat essai.txt | wc
1 5 39

Il n'y a qu'à compter le nombre de caractères (visibles):
on est le 2009_04-30-21h18 aujourd'hui
38

Mais ça ne fait pas beaucoup avancer le truc
Bon essaie:

echo -n `date +%Y_%m-%d-%Hh%M` | /usr/bin/xclip

le -n inhibe le caractère 0x0a (new line) à la fin d'une commande shell
j'ai l'impression que le "new line" ne provient pas de la commande date:
D'accord avec toi ce n'est pas la commande «date» mais l'utilisation d'une commande quelconque dans le shell courant.

uname -n | hexdump -C
00000000  70 61 74 6d 61 72 2e 6c  6f 63 61 6c 64 6f 6d 61  |patmar.localdoma|
00000010  69 6e 0a                                          |in.|
echo -n $(uname -n) | hexdump -C
00000000  70 61 74 6d 61 72 2e 6c  6f 63 61 6c 64 6f 6d 61  |patmar.localdoma|
00000010  69 6e                                             |in|
Donc si le problème du copier/coller vient du \n, alors la solution une de celles proposées.

Pour savoir ce qu'est le caractère bizarre, il faudrait utiliser le résultat du copier coller avec une sortie sur «hexdump -C»