Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Redirection de sortie partielle

33 réponses
Avatar
Francois Lafont
Bonjour à tous,

Je suis sous Debian Squeeze. Je butte sur un truc assez basique mais qui
m'intrigue et que je ne comprends pas. Voici ce que me donne la commande
ci-dessous :

-----------------------------------------------------------
# aptitude update -v
Atteint http://ftp2.fr.debian.org squeeze Release.gpg
Ign http://ftp2.fr.debian.org/debian/ squeeze/contrib Translation-en
Ign http://ftp2.fr.debian.org/debian/ squeeze/contrib Translation-fr
Atteint http://www.debian-multimedia.org squeeze Release.gpg

[Couic]

Atteint http://ftp2.fr.debian.org squeeze-updates/main amd64 Packages

État actuel : 0 paquet cassé [+0], 0 mise à jour restante [+0], 276
nouveaux paquets [+0].
#
-----------------------------------------------------------

Très bien, j'ai en sortie la dernière ligne que je voudrais isoler avec
un grep. Je tente alors ça :

-----------------------------------------------------------
# aptitude update -v | grep 'État actuel'
#
-----------------------------------------------------------

Aucune sortie. Je tente une redirection vers un fichier :

-----------------------------------------------------------
# aptitude update -v > out
-----------------------------------------------------------

Et dans le fichier out je retrouve toute la sortie que j'avais dans la
première commande, sauf la fameuse derrière ligne. Ok, là je me dis, sûr
de moi, c'est bon je sais ce qu'il se passe : la dernière ligne provient
du flux de sortie des erreurs standard (stderr) et non du flux de sortie
standard (stdout), alors je tente ça :

-----------------------------------------------------------
# aptitude update -v 2>&1 1> out
-----------------------------------------------------------

Et bien dans le fichier out, toujours pas cette fameuse dernière ligne.
Mais elle provient d'où alors cette dernière ligne si elle ne provient
ni de stdout et ni de stderr ? Comment faire pour la récupérer elle et
elle seule J'aimerais bien comprendre.

Merci d'avance pour votre aide.

--
François Lafont

10 réponses

1 2 3 4
Avatar
Nicolas George
Luc Habert, dans le message <jf1r10$8qd$, a écrit :
Il y a la commande tty qui done le terminal vers lequel pointe son stdin et
rale sinon.



La fonction -t de test est quand même une solution plus directe.
Avatar
Fabien LE LEZ
On 17 Jan 2012 09:38:27 GMT, Emmanuel Florac :

Il existe en effet pas mal de programmes, par exemple ls, qui vérifient
si leur STDOUT est un terminal ou pas, et qui modifient leur comportement
en conséquence.



D'où une utilité inattendue pour cat :

ls|cat
Avatar
Nicolas George
Fabien LE LEZ , dans le message
, a écrit :
D'où une utilité inattendue pour cat :

ls|cat



Ça a un effet visible, oui, mais peux-tu expliquer en quoi tu considères ça
_utile_ ?
Avatar
Fabien LE LEZ
On 18 Jan 2012 07:52:03 GMT, Nicolas George
<nicolas$:

ls|cat



Ça a un effet visible, oui, mais peux-tu expliquer en quoi tu considères ça
_utile_ ?



C'est la solution la plus simple que j'aie trouvée pour avoir une
liste de fichiers prête à être copiée-collée dans un tableur.
Avatar
Arnaud Gomes-do-Vale
Fabien LE LEZ writes:

On 18 Jan 2012 07:52:03 GMT, Nicolas George
<nicolas$:

ls|cat



Ça a un effet visible, oui, mais peux-tu expliquer en quoi tu considères ça
_utile_ ?



C'est la solution la plus simple que j'aie trouvée pour avoir une
liste de fichiers prête à être copiée-collée dans un tableur.



/bin/ls -1

--
Arnaud
http://blogs.glou.org/arnaud/
Avatar
Arnaud Gomes-do-Vale
Arnaud Gomes-do-Vale writes:

/bin/ls -1



Au passage, «ls | cat», c'est moyen portable. Typiquement, sur un Linux
(avec GNU ls et GNU cat), pour peu que ls soit un alias sur «ls --color»
(par défaut sur Red Hat et ses dérivés), ça affiche les couleurs, pas
sur un BSD (testé à l'instant sur mon DragonflyBSD où ls est un alias de
«ls -G»).

--
Arnaud
http://blogs.glou.org/arnaud/
Avatar
Fabien LE LEZ
On Wed, 18 Jan 2012 09:35:45 +0100, Arnaud Gomes-do-Vale
:

Au passage, «ls | cat», c'est moyen portable.



Je n'utilise pas ce genre de trucs dans des scripts ; uniquement en
interactif.
Avatar
Sergio
Le Wed, 18 Jan 2012 09:35:45 +0100, Arnaud Gomes-do-Vale a écrit :

/bin/ls -1



Au passage, «ls | cat», c'est moyen portable. Typiquement, sur un Linux
(avec GNU ls et GNU cat), pour peu que ls soit un alias sur «ls --color»
(par défaut sur Red Hat et ses dérivés), ça affiche les couleurs, pas
sur un BSD (testé à l'instant sur mon DragonflyBSD où ls est un alias de
«ls -G»).



Toujours vu ls|cat affiché la liste en monochrome. Même s'il y a un alias
ls="ls --color" ! Normal : Si on sort la liste vers un fichier (ls
liste), il ne faut pas qu'il y ait les séquences d'échappement couleurs.



Par contre ls -1 affiche la liste en couleur (s'il y a, bien sûr, l'alias
ls --color).

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Avatar
Arnaud Gomes-do-Vale
Sergio writes:

Toujours vu ls|cat affiché la liste en monochrome. Même s'il y a un alias
ls="ls --color" ! Normal : Si on sort la liste vers un fichier (ls
liste), il ne faut pas qu'il y ait les séquences d'échappement couleurs.





Et pourtant, chez moi, ça sort en couleur.

:~% alias ls
ls='ls -F --color'
:~% ls --version
ls (GNU coreutils) 8.10

Par contre ls -1 affiche la liste en couleur (s'il y a, bien sûr, l'alias
ls --color).



C'est pour ça que j'ai bien précisé /bin/ls. :-)

--
Arnaud
http://blogs.glou.org/arnaud/
Avatar
yamo'
Salut,

Le Wed, 18 Jan 2012 09:35:45 +0100, Arnaud Gomes-do-Vale a écrit :

Arnaud Gomes-do-Vale writes:

/bin/ls -1



Au passage, «ls | cat», c'est moyen portable. Typiquement, sur un Linux
(avec GNU ls et GNU cat), pour peu que ls soit un alias sur «ls --color»
(par défaut sur Red Hat et ses dérivés), ça affiche les couleurs, pas
sur un BSD (testé à l'instant sur mon DragonflyBSD où ls est un alias de
«ls -G»).




Ou alors utiliser :


ls -1

Depuis qu'on ma indiqué ce truc, putty est devenu plus lisible sans avoir
à bricoler sa conf.





--
Stéphane <http://pasdenom.info/fortune/>
1 2 3 4