J'essaye d'écrire un script simple autour de Lame pour personnaliser le programme pour mes usages spécifiques. Ce que je voudrais faire est analyser juste le pourcentage de complétude de la sortie de Lame.grep'ing sortie de sortie continuellement mis à jour
Voici ce que la ligne ressemble maintenant:
./lame --nohist ~/Desktop/Driver.wav ~/Desktop/Driver.mp3 2>&1| egrep -o "\([0-9\%]+\)"
Mais cela ne renvoie rien. Voici ce que la sortie de Boiteux ressemble:
LAME 3.99 (alpha 1, Jun 4 2009 19:42:31) 32bits (http://www.mp3dev.org/) warning: alpha versions should be used for testing only Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz Encoding /Users/jkubicek/Desktop/Driver.wav to /Users/jkubicek/Desktop/Driver.mp3 Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (11x) 128 kbps qval=3 Frame | CPU time/estim | REAL time/estim | play/CPU | ETA 1500/8765 (17%)| 0:02/ 0:15| 0:03/ 0:17| 14.654x| 0:14
La dernière ligne de code met à jour dynamiquement le fichier est converti. Quand je copie/colle/echo/pipe ce texte exact dans mon grep il trouve les 17% très bien, mais quand je l'exécute pour vrai, il trouve zilch.
Edit: Quand je jette la sortie de lame dans un fichier texte, voici ce que les résultats ressemblent:
lameout.txt http://nothing2fancy.com/images/forum_images/lameout.txt-20090621-095324.png
On dirait que je pouvais pousser la sortie vers un fichier temporaire et lire le pourcentage est complet, mais cela semble gênant, comme il devrait y avoir une façon plus élégante de le faire.
Merci pour la suggestion. J'ai vérifié le fichier de sortie et il tient toutes les mises à jour individuelles de pourcentage sur des lignes séparées. Donc, la lecture de chacun devrait être possible. – kubi
Il est également possible que lame affiche vos chiffres puis affiche^H (ou backspaces). Ainsi, grep peut ne pas obtenir de retour chariot pour lui permettre d'identifier une EOL. Lame peut également changer sa sortie en fonction de l'endroit où stdout est envoyé –