[vraiment HS] récuperer une partie de l'affichage

Le
Philippe MONROUX
Bonjour,

Je voudrais récupérer une partie de l'affichage de la ligne de statut
de mencoder
La ligne de statut ressemble à :

Pos: 168.1s 4640f (90%) 35fps Trem: 1min 56mb A-V:-0.018 [2378:192]

et évidemment 168.1s change tout le temps (ça indique à quel endroit
du fichier on est). Disons que la ligne de statut est une espèce de
barre de progression mais sous forme numérique. Et justement je
voudrais faire une vraie barre de progression graphique (avec bash
dialogue gauge). Donc j'ai besoin de récupérer ces nombres qui
suivent Pos: disons toutes les 5 minutes afin de les utiliser avec
gauge

bon ben voilà. Une idée ?

Merci

--
philippe

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sébastien NOBILI
Le #16416301
Le samedi 26 juillet 08 à 17:19, Philippe MONROUX a écrit :
| Bonjour,

Bonjour,

| Je voudrais récupérer une partie de l'affichage de la ligne de statut
| de mencoder
| La ligne de statut ressemble à :
|
| Pos: 168.1s 4640f (90%) 35fps Trem: 1min 56mb A-V:-0.018 [2378:192]
|
| et évidemment 168.1s change tout le temps (ça indique à quel endroit
| du fichier on est). Disons que la ligne de statut est une espèce de
| barre de progression mais sous forme numérique. Et justement je
| voudrais faire une vraie barre de progression graphique (avec bash
| dialogue gauge). Donc j'ai besoin de récupérer ces nombres qui
| suivent Pos: disons toutes les 5 minutes afin de les utiliser avec
| gauge...
|
| bon ben voilà. Une idée ?

As-tu essayé d'envoyer la sortie de mencoder dans un fichier (en
utilisant tee, par exemple). Si le contenu du fichier est exploitable,
grep et sed feront très bien le boulot.
L'inconvénient d'utiliser un fichier, c'est que le disque va se remplir,
il serait de bon goût d'utiliser un tube nommé (named pipe). Le résultat
sera le même et le disque restera indemne !

Et pourquoi Bash, au fait ? Perl serait sûrement plus performant...

| Merci

Pas de quoi.

| --
| philippe

Seb

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
mouss
Le #16417171
Philippe MONROUX wrote:
Bonjour,

Je voudrais récupérer une partie de l'affichage de la ligne de statut
de mencoder
La ligne de statut ressemble à :

Pos: 168.1s 4640f (90%) 35fps Trem: 1min 56mb A-V:-0.018 [2378:192]

et évidemment 168.1s change tout le temps (ça indique à quel endroit
du fichier on est). Disons que la ligne de statut est une espèce de
barre de progression mais sous forme numérique. Et justement je
voudrais faire une vraie barre de progression graphique (avec bash
dialogue gauge). Donc j'ai besoin de récupérer ces nombres qui
suivent Pos: disons toutes les 5 minutes afin de les utiliser avec
gauge...





tu peux utiliser sed, awk, perl, ...

par exemple:

lastpos=0
ta_commande |
sed -e 's/^Pos: *//' -e 's/[^0-9].*//' |
while read _pos; do
while [ $lastpos -lt $_pos ]; do
echo -n '.';
lastpos=`expr $lastpos + 10`;
done ;
echo -n " ";
done;
echo


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Philippe MONROUX
Le #16418081
De (from) (von)

As-tu essayé d'envoyer la sortie de mencoder dans un fichier (en
utilisant tee, par exemple).



oui. Le pb est que (à cause sans doute de la sortie de mencoder) le
fichier apparaît (sous emacs) comme composé d'une seule ligne avec des
^M (juste avant Pos)

Pos: 0.0s 1f (20%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]^MPos: 0.0s 2f (20%) 0.00fps Trem: 0min 0mb A-V:-0.004 [0:0]^MPos: 0.0s 3f (20%)
+0.00fps Trem: 0min 0mb A-V:-0.008 [0:0]

Et impossible de me débarrasser de ^M. J'ai essayé des trucs du genre

sed 's/r//'
sed 's/xD0//'
sed 's/^M//'
sed 's/^M//'

mais rien ne marche

--
philippe

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Philippe MONROUX
Le #16418071
De (from) (von)

As-tu essayé d'envoyer la sortie de mencoder dans un fichier (en
utilisant tee, par exemple).



oui. Le pb est que (à cause sans doute de la sortie de mencoder) le
fichier apparaît (sous emacs) comme composé d'une seule ligne avec des
^M (juste avant Pos)

Pos: 0.0s 1f (20%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]^MPos: 0.0s 2f (20%) 0.00fps Trem: 0min 0mb A-V:-0.004 [0:0]^MPos: 0.0s 3f (20%) 0.00fps Trem: 0min 0mb A-V:-0.008 [0:0]...............

Et impossible de me débarrasser de ^M. J'ai essayé des trucs du genre

sed 's/r//'
sed 's/xD0//'
sed 's/^M//'
sed 's/^M//'

mais rien ne marche

--
philippe




--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Jacques L'helgoualc'h
Le #16418421
Bonjour,

Philippe MONROUX a écrit, dimanche 27 juillet 2008, à 11:24 :
De (from) (von) > As-tu essayé d'envoyer la sortie de mencoder dans un fichier (en
> utilisant tee, par exemple).

oui. Le pb est que (à cause sans doute de la sortie de mencoder) le
fichier apparaît (sous emacs) comme composé d'une seule ligne avec des
^M (juste avant Pos)

Pos: 0.0s 1f (20%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]^MPos: 0.0s 2f (20%) 0.00fps Trem: 0min 0mb A-V:-0.004 [0:0]^MPos: 0.0s 3f (20%) +0.00fps Trem: 0min 0mb A-V:-0.008 [0:0]

Et impossible de me débarrasser de ^M. J'ai essayé des trucs du genre

sed 's/r//'
sed 's/xD0//'
sed 's/^M//'
sed 's/^M//'

mais rien ne marche



Si ta sortie brute ne fait qu'une seule ligne, ajoute l'option « g » à
la fin de ta commande de substitution --- sur l'extrait de ton message,
« sed -e 's/^M/n/g' » me donne

,----
| Pos: 0.0s 1f (20%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]
| Pos: 0.0s 2f (20%) 0.00fps Trem: 0min 0mb A-V:-0.004 [0:0]
| Pos: 0.0s 3f (20%) +0.00fps Trem: 0min 0mb A-V:-0.008 [0:0]
`----

parce que les r sont déjà transcrits en ^M (deux caractères) auparavant.
--
Jacques L'helgoualc'h

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Philippe MONROUX
Le #16418931
De (from) (von)
> Si ta sortie brute ne fait qu'une seule ligne, ajoute l'option « g » à
> la fin de ta commande de substitution --- sur l'extrait de ton message,
> « sed -e 's/^M/n/g' » me donne

En fait il ne faut pas prendre l'extrait de mon message. En effet ce
n'est pas un copié collé. Je me suis d'abord envoyé le message après
avoir fait un copié collé et les <<^M>> étaient transformés en passage
à la ligne (donc pas visibles dans le message). C'est pourquoi j'ai
remplacé les ^M à la main. Mais ce ne sont pas les mêmes. Et donc sed
-e 's/^M/n/g' ne marche pas.

d'ailleurs le code hexa du C-M de la sortie est 0d
alors que le code hexa de l'extrait est 5e4d



ah par contre sed 's/x0d/n/g' marche parfaitement ==> merci

--
philippe

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Philippe MONROUX
Le #16418921
De (from) (von)

> Pos: 0.0s 1f (20%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]^MPos: 0.0s 2f (20%) 0.00fps Trem: 0min 0mb A-V:-0.004 [0:0]^MPos: 0.0s 3f (20%) +0.00fps Trem: 0min 0mb A-V:-0.008 [0:0]



Si ta sortie brute ne fait qu'une seule ligne, ajoute l'option « g » à
la fin de ta commande de substitution --- sur l'extrait de ton message,
« sed -e 's/^M/n/g' » me donne



En fait il ne faut pas prendre l'extrait de mon message. En effet ce
n'est pas un copié collé. Je me suis d'abord envoyé le message après
avoir fait un copié collé et les <<^M>> étaient transformés en passage
à la ligne (donc pas visibles dans le message). C'est pourquoi j'ai
remplacé les ^M à la main. Mais ce ne sont pas les mêmes. Et donc sed
-e 's/^M/n/g' ne marche pas.

d'ailleurs le code hexa du C-M de la sortie est 0d
alors que le code hexa de l'extrait est 5e4d
--
philippe

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Jacques L'helgoualc'h
Le #16419201
Philippe MONROUX a écrit, dimanche 27 juillet 2008, à 14:32 :
De (from) (von) > > Pos: 0.0s 1f (20%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]^MPos: 0.0s 2f (20%) 0.00fps Trem: 0min 0mb A-V:-0.004 [0:0]^MPos: 0.0s 3f (20%) +0.00fps Trem: 0min 0mb A-V:-0.008 [0:0]

> Si ta sortie brute ne fait qu'une seule ligne, ajoute l'option « g » à
> la fin de ta commande de substitution --- sur l'extrait de ton message,
> « sed -e 's/^M/n/g' » me donne

En fait il ne faut pas prendre l'extrait de mon message. En effet ce
n'est pas un copié collé. Je me suis d'abord envoyé le message après
avoir fait un copié collé et les <<^M>> étaient transformés en passage
à la ligne (donc pas visibles dans le message). C'est pourquoi j'ai
remplacé les ^M à la main. Mais ce ne sont pas les mêmes. Et donc sed
-e 's/^M/n/g' ne marche pas.



Oui, bien sûr, c'est pourquoi j'ai précisé... piper ta sortie vers le
MTA puis récupérer et filtrer le courrier n'est pas vraiment la
meilleure solution :)

d'ailleurs le code hexa du C-M de la sortie est 0d



C'est donc bien un r, code ascii 13 --- cf. man ascii et info sed, -->
Escapes, donc r ou l'une des autres variantes d'écriture de Control-M
devrait marcher...
--
Jacques L'helgoualc'h

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Publicité
Poster une réponse
Anonyme