Append de la sortie standard sans retour a la ligne

Append de la sortie standard sans retour a la ligne - Shell/Batch - Programmation

Marsh Posté le 21-09-2005 à 16:56:28    

Tout est dans le titre :
 
Quelqu'un connait-il une astuce pour ecrire la sortie standard d'une commande dans un fichier sans passer a la ligne suivante comme le fait l'operateur de redirection '>>' ?
 
Par avance

Reply

Marsh Posté le 21-09-2005 à 16:56:28   

Reply

Marsh Posté le 21-09-2005 à 16:59:17    

C'est-à-dire, tout à la suite sans aucun saut de ligne, jamais ?
 
Tu peux dans ce cas-là tenter l'astuce suivante :
commande | sed 's/\\n//g' >> fichier_de_redirection


Message édité par Elmoricq le 21-09-2005 à 16:59:33
Reply

Marsh Posté le 21-09-2005 à 17:12:18    

Non en fait c'est '>>' qui opere le retour a la ligne genant : j'essai de coller ma sortie sur une ligne ou il y a deja des donnees ...
 
Par exemple :
 
bash-3.00$ cat exemple
diverses donnees preexistantes sur la derniere ligne du fichier.
bash-3.00$ ls -l | grep exem >> exemple
bash-3.00$ cat exemple
diverses donnees preexistantes sur la derniere ligne du fichier.
-rw-r--r--  1 maurice maurice   65 Sep 21 17:08 exemple
 
J'aimerais obtenir :
 
[...] //meme debut
bash-3.00$ cat exemple
diverses donnees preexistantes sur la derniere ligne du fichier.-rw-r--r--  1 maurice maurice   65 Sep 21 17:08 exemple


Message édité par DocGero le 21-09-2005 à 17:14:19
Reply

Marsh Posté le 22-09-2005 à 12:27:22    

je m'en suis sorti avec :
commande | tr -d "\n" >> fichier
ce n'est donc pas l'operateur de redirection qui ajoute le retour a la ligne, c'est bien le resultat de la commande, donc sed 's/\n//g' fonctionne egalement... merci!

Reply

Marsh Posté le 22-09-2005 à 17:58:15    

Tu a l'impression que ">>" ecrit a la ligne suivante, parce que le fichier se terminait par une ligne vide. Bref c'est la premiere ecriture qui met un retour a ligne en fin d'ecriture, pas la deuxieme qui en met un en debut d'ecriture.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed