J'ai perdu mon line feed

Fermé
Gunther - 16 août 2007 à 13:32
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 16 août 2007 à 14:27
Bonjour,

Mon problème est extrèmement simple:

J'ai un script ksh qui contient les instructions suivantes:

check=$(tail -200 fichier.log)

print $check;

Et là, ooooh surprise, il n'y a plus les retour à la ligne.

Encore plus étonnant: tapez en ligne de commande echo $(ls -l) et le résultat est sur une seule ligne.

Ma question Comment fait on pour avoir le résultat sur plusieurs lignes quand le résultat de la commande comprend \n ?

j'ai essayé de faire une redirection sur un sed /\n/\\\n/ mais sans succès....

Si cela peut vous aider, je suis en solaris sun 9

Merci pour votre aide !

Gunther
A voir également:

4 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 897
16 août 2007 à 13:51
Salut,

check=$(tail -200 fichier.log)
print $check;
Et là, ooooh surprise, il n'y a plus les retour à la ligne.

Il faut quoter ta variable avec des doubles quotes :
check=$(tail -200 fichier.log)
print "$check";
Pour ton second problème :
OLD_IFS=$IFS; IFS=$'\r'; echo $(ls -l); IFS=$OLD_IFS
:-))
0
Merci !

Je me tais, et je ravale ma fierté, j'ai juste perdu une heure avec cette connerie :)

@+

Gunther
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
16 août 2007 à 14:19
Salut,

j'ai juste perdu une heure avec cette connerie
mais non, tu n'as rien perdu, tu as gagné un réponse :-)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
16 août 2007 à 14:27
j'ai juste perdu une heure avec cette connerie
Je te rassure on y est tous passé et on y passera encore ;-))
0