Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/09/2011, à 17:50

athlon64

Convertir un dossier en mp3

Bonjour

dans le but de m'améliorer en script Shell, j'essaye de créer un script qui convertirai tous les fichiers audio d'un dossier en MP3

mais j'obtiens une erreur :

/home/antoine/script/convert.sh: line 24: unexpected EOF while looking for matching `"'
/home/antoine/script/convert.sh: line 28: syntax error: unexpected end of file

voici le script (pas parfait, je le sais, mais suffisant)

#!/bin/bash

verif=0
declare -a tabExt=( mpeg mpg txt avi flv mkv nfo cue sfv iso m3u m4v mov )
sizeTab=${#tabExt[@]}
tabExt[$sizeTab]=$1
sizeTab=${#tabExt[@]}

for i in *; do
        j=0
        ext=`$i | cut -d'.' -f2`
        echo $ext
        while [ "$j" -lt "$sizeTab" ] && [ "$verif" -eq "0" ]; do
                if[ "$ext"="${tabExt[$j]" ]; then
                        verif=0
                        let "$j+=1"
                else
                        verif=1
                fi
                done
                if[ verif -eq 1 ]; then
                        bitrate=`ffmpeg -i $i 2>&1 | grep 'bitrate:' - | cut -d' ' -f8 $
                        let "$bitrate*=$2"
                        ffmpeg -i "$i" -ab "$bitrate'k'" -acodec "$3" "${i%$ext}$1"
                        echo 'Conversion de $i finie'
                fi
done

merci


[En cours...] Ubuntu Desktop 11.04 Natty Narwhal 64bits
Core2Quad Q9400 | 4Go RAM | HDD 640Go WD Caviar | Sapphire ATI/AMD Radeon HD4890 1Go Vapor-X
[Prêt] Ubuntu Server 10.04 Lucid Lynx LTS 64bits
AMD Phenom X-3 Q9550 | 4Go de RAM | Syst. 160Go Seagate Barracuda | Data 1To WD Caviar Green

Hors ligne

#2 Le 09/09/2011, à 19:10

sonar_zystem

Re : Convertir un dossier en mp3

salut, pour la ligne 24 ne serait-ce pas

ffmpeg -i "$i" -ab "$bitrate'kb'" -acodec "$3" "${i%$ext}$1"

...?

Hors ligne

#3 Le 09/09/2011, à 22:53

athlon64

Re : Convertir un dossier en mp3

non ca ne change rien


[En cours...] Ubuntu Desktop 11.04 Natty Narwhal 64bits
Core2Quad Q9400 | 4Go RAM | HDD 640Go WD Caviar | Sapphire ATI/AMD Radeon HD4890 1Go Vapor-X
[Prêt] Ubuntu Server 10.04 Lucid Lynx LTS 64bits
AMD Phenom X-3 Q9550 | 4Go de RAM | Syst. 160Go Seagate Barracuda | Data 1To WD Caviar Green

Hors ligne

#4 Le 09/09/2011, à 23:10

FRUiT

Re : Convertir un dossier en mp3

while [ "$j" -lt "$sizeTab" ] && [ "$verif" -eq "0" ]; do

Ici tu essaies de comparer des chaines de caractères avec des opérateurs d'entiers.

Enlève les guillemets

while [ $j -lt $sizeTab ] && [ $verif -eq 0 ]; do
if[ "$ext"="${tabExt[$j]" ]; then

Ici il faudrait mettre des espaces autour du signe « = ».


if[ verif -eq 1 ]; then

Il manque un « $ » devant verif...


 bitrate=`ffmpeg -i $i 2>&1 | grep 'bitrate:' - | cut -d' ' -f8 $

Utilise plutôt kate ou gedit quand tu nous copie-colle quelque chose car là avec nano on a pas la fin de la ligne...


Si le problème persiste malgré tout, reposte le script correctement.


Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#5 Le 09/09/2011, à 23:18

athlon64

Re : Convertir un dossier en mp3

j'ai corigé ce que tu m'as dit, mais toujours la même erreur hmm

 bitrate=`ffmpeg -i $i 2>&1 | grep 'bitrate:' - | cut -d' ' -f8 $ -`

désolé, je suis  sur Ubuntu Server Edition, donc pas de serveur X


[En cours...] Ubuntu Desktop 11.04 Natty Narwhal 64bits
Core2Quad Q9400 | 4Go RAM | HDD 640Go WD Caviar | Sapphire ATI/AMD Radeon HD4890 1Go Vapor-X
[Prêt] Ubuntu Server 10.04 Lucid Lynx LTS 64bits
AMD Phenom X-3 Q9550 | 4Go de RAM | Syst. 160Go Seagate Barracuda | Data 1To WD Caviar Green

Hors ligne

#6 Le 12/09/2011, à 18:45

gerarmentor

Re : Convertir un dossier en mp3

FRUiT a écrit :
while [ "$j" -lt "$sizeTab" ] && [ "$verif" -eq "0" ]; do

Ici tu essaies de comparer des chaines de caractères avec des opérateurs d'entiers.

Enlève les guillemets

Les guillemets ne servent à rien ici mais  ne changent rien non plus. En bash, il n'y a pas un type "chaîne de caractères" et un type valeur numérique.
http://abs.traduc.org/abs-5.0-fr/ch04s03.html

Hors ligne

#7 Le 12/09/2011, à 19:05

FRUiT

Re : Convertir un dossier en mp3

Certes mais j'essaie de conseiller un peu de rigueur, et pas de l'à peu près.

Savoir utiliser les bons opérateurs pour les bons types de variables, ça servira plus tard.

D'autre par l'instruction declare de bash 4 introduit les variables typées dans les scripts shell.

abs a écrit :

Elles permettent plus de flexibilité dans l'écriture des scripts (assez de corde pour se pendre soi même !) et rendent plus aisé le ciselage des lignes de code. Néanmoins, elles permettent aux erreurs de s'infiltrer dans les programmes et encouragent des habitudes de code bâclé.

Dernière modification par FRUiT (Le 12/09/2011, à 19:17)


Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#8 Le 12/09/2011, à 23:36

Pylades

Re : Convertir un dossier en mp3

@ FRUiT : -_-"
P’tain tu persistes, toi… roll

./viewtopic.php?pid=6046351#p6046351

Avant de raconter des conneries sur les chaînes de caractères, faudrait que tu commences à apprendre le shell… Lis le manuel, tu y apprendras que tout est chaîne de caractères, en bash. Et que les double quotes n’ont pas la même fonction en C qu’en bash.

Et arrête de nous rebattre les oreilles avec ta rigueur : tu es l’incarnation du manque de rigueur. Quand on essaie d’expliquer quelque chose, c’est bien de savoir un minimum de quoi on parle, si on veut être rigoureux… ce n’est visiblement pas ton cas.


(En plus je pense que l’on peut difficilement m’accuser d’être peu rigoureux, à la vue des mes CFLAGStongue

CFLAGS = -std=c90 -pedantic -Wall -Wextra -Winit-self -Wfloat-equal \
    -Wstrict-prototypes -Wold-style-definition -Wredundant-decls \
    -Wwrite-strings -Wcast-qual -Wconversion -Wbad-function-cast \
    -Wformat=2
DEBUG_CFLAGS = -Wunreachable-code -Wpadded -g -O0
RELEASE_CFLAGS= -O2

)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#9 Le 13/09/2011, à 10:11

FRUiT

Re : Convertir un dossier en mp3

Ah je me disais que tu allais pas digérer notre précédent échange. Ne sois pas fâché mon petit c'est pas grave. Je vois pas très bien ce qu'apporte cette nouvelle réponse ? Ca ne répond pas à mon précédent message, ni n'apporte aucune précision. Ca ne le contredit même pas smile


Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#10 Le 13/09/2011, à 12:06

Pylades

Re : Convertir un dossier en mp3

C’est juste que tu devrais lire les réponses que tu reçois avant de répéter les mêmes conneries… roll


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#11 Le 13/09/2011, à 13:02

FRUiT

Re : Convertir un dossier en mp3

Quelles conneries ?

En parlant de ça, j'ai pas compris le rapport entre le C et ce topic... Si tu peux nous éclairer ?


Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#12 Le 13/09/2011, à 13:10

Pylades

Re : Convertir un dossier en mp3

Ben lis les réponses… les conneries, c’est notamment de faire une différence entre les chaînes de caractères et les entiers en bash. Il n’y a que des chaînes de caractères. Et comment tu ignores la signification des double quotes, tu conseilles de les retirer sans réfléchir ; alors qu’ils ont un rôle.

Le rapport avec les C, c’est juste qu’à la vue de mes CLFAGS, je vois peu de personnes ici qui auraient suffisamment de légitimité pour m’accuser de manquer de rigueur dans mon code, mais ce n’est qu’une parenthèse.


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#13 Le 13/09/2011, à 16:19

FRUiT

Re : Convertir un dossier en mp3

Πυλάδης a écrit :

Ben lis les réponses… les conneries, c’est notamment de faire une différence entre les chaînes de caractères et les entiers en bash. Il n’y a que des chaînes de caractères. Et comment tu ignores la signification des double quotes, tu conseilles de les retirer sans réfléchir ; alors qu’ils ont un rôle.

J'ai expliqué que avec l'opérateur -eq les double quotes sont malvenues, c'est vrai je vois pas en quoi ça te choque et c'est justement bien plus réfléchi que de les laisser... Explique moi pourquoi il y a des opérateurs d'entiers et d'autres de chaines de caractères ?


Πυλάδης a écrit :

Le rapport avec les C, c’est juste qu’à la vue de mes CLFAGS, je vois peu de personnes ici qui auraient suffisamment de légitimité pour m’accuser de manquer de rigueur dans mon code, mais ce n’est qu’une parenthèse.

Ah ok c'est ce qui me semblait tu veux juste prouver que tu en as une plus grosse... Aucun rapport donc.


Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#14 Le 13/09/2011, à 16:37

Pylades

Re : Convertir un dossier en mp3

FRUiT a écrit :

J'ai expliqué que avec l'opérateur -eq les double quotes sont malvenues, c'est vrai je vois pas en quoi ça te choque et c'est justement bien plus réfléchi que de les laisser... Explique moi pourquoi il y a des opérateurs d'entiers et d'autres de chaines de caractères ?

C’est pourtant simple… On ne passe que des chaînes de caractères à la commande test. Il faut donc lui préciser, par exemple, si l’on veut comparer ces chaînes en temps qu’entier ou en temps que chaîne. Ainsi, avec les chaînes "01" et "1", si l’opérateur est "=", l’expression sera évaluée comme fausse ; alors que si l’opérateur est "-eq", l’expression sera évaluée comme vraie. Il ne faut pas confondre la syntaxe de bash et la syntaxe de test. D’autant plus qu’encore une fois, les double quotes ne sont absolument pas la marque de la chaîne de caractère en bash.



FRUiT a écrit :

Ah ok c'est ce qui me semblait tu veux juste prouver que tu en as une plus grosse... Aucun rapport donc.

Pas vraiment, non…
Mais tu me rentre dedans avec tes gros sabots sans trop maîtriser le shell pour me dire que je ne suis pas rigoureux. Je montre donc juste que quand je parle de code, je suis extrêmement rigoureux ; peu de gens supportent de travailler avec ces CFLAGS sévères…


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#15 Le 13/09/2011, à 16:47

FRUiT

Re : Convertir un dossier en mp3

Πυλάδης a écrit :
FRUiT a écrit :

J'ai expliqué que avec l'opérateur -eq les double quotes sont malvenues, c'est vrai je vois pas en quoi ça te choque et c'est justement bien plus réfléchi que de les laisser... Explique moi pourquoi il y a des opérateurs d'entiers et d'autres de chaines de caractères ?

C’est pourtant simple… On ne passe que des chaînes de caractères à la commande test. Il faut donc lui préciser, par exemple, si l’on veut comparer ces chaînes en temps qu’entier ou en temps que chaîne. Ainsi, avec les chaînes "01" et "1", si l’opérateur est "=", l’expression sera évaluée comme fausse ; alors que si l’opérateur est "-eq", l’expression sera évaluée comme vraie. Il ne faut pas confondre la syntaxe de bash et la syntaxe de test. D’autant plus qu’encore une fois, les double quotes ne sont absolument pas la marque de la chaîne de caractère en bash.

Et je te re-répète que dans l'exemple qui nous occupe, ces doubles quotes ne servent strictement à rien. Tu pourras expliquer tout ce que tu veux.

Πυλάδης a écrit :
FRUiT a écrit :

Ah ok c'est ce qui me semblait tu veux juste prouver que tu en as une plus grosse... Aucun rapport donc.

Pas vraiment, non…
Mais tu me rentre dedans avec tes gros sabots sans trop maîtriser le shell pour me dire que je ne suis pas rigoureux. Je montre donc juste que quand je parle de code, je suis extrêmement rigoureux ; peu de gens supportent de travailler avec ces CFLAGS sévères…

En l'occurrence c'est toi qui essaie bien piètrement de me rentrer dedans en postant complètement hors de propos (tu ne cherches même pas à aider l'OP) et avec des exemples scabreux de ce qui selon toi te valorise d'une manière où une autre... D'autre part je ne préjuge pas de ton niveau alors tu essaies de prouver quoi ? C'est l'histoire des standards qui t'as fait si mal ? Faut pas s'énerver pour si peu j'ai mis "si" quand même. Pourquoi tu n'as pas répondu dans l'autre topic plutôt ? Qu'est-ce qui te permet de juger mon niveau en bash ? Tu t'es tapé toute ma postographie ?

Dernière modification par FRUiT (Le 13/09/2011, à 17:13)


Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#16 Le 13/09/2011, à 17:54

Pylades

Re : Convertir un dossier en mp3

FRUiT a écrit :

Et je te re-répète que dans l'exemple qui nous occupe, ces doubles quotes ne servent strictement à rien. Tu pourras expliquer tout ce que tu veux.

En pratique, cela ne change probablement pas grand chose. Mais pour l’esthétique du code, il est important de les mettre. Et n’inverse pas les rôles ; c’est toi qui tentais de me soutenir qu’il fallait les enlever…

FRUiT a écrit :

En l'occurrence c'est toi qui essaie bien piètrement de me rentrer dedans en postant complètement hors de propos […]

Je corrige les inexactitudes qui tu t’entêtes à répéter ; cela me semble important.

FRUiT a écrit :

[…] (tu ne cherches même pas à aider l'OP) […]

Ben, j’ai compté les quotes et je n’ai vu que des paires. Donc je me suis abstenu. Mais à la relecture, j’ai remarqué un truc :

if[ "$ext"="${tabExt[$j]" ]; then

Ici, en plus des espaces manquantes, le « } » est omis. Ça pourrait expliquer le problème rencontré.
Et par ailleurs :

let "$j+=1"

Ici, la syntaxe correcte est  :

let j+=1

Mais bon, il me semble que l’OP a déserté le fil… hmm

FRUiT a écrit :

[…] et avec des exemples scabreux de ce qui selon toi te valorise d'une manière où une autre... D'autre part je ne préjuge pas de ton niveau alors tu essaies de prouver quoi ? […]

C’est juste que je trouve ça bizarre d’être accusé de manquer de rigueur, c’est tout… De la part de grim7reaper, Rolinh, HP, nesthib ou Le Farfadet Spatial, je trouverais ça normal, mais ils ont quand même beaucoup de points d’XP. tongue

FRUiT a écrit :

[…] C'est l'histoire des standards qui t'as fait si mal ? Faut pas s'énerver pour si peu j'ai mis "si" quand même. Pourquoi tu n'as pas répondu dans l'autre topic plutôt ? […]

Je n’avais malheureusement rien à ajouter, si ce n’est ma répéter…

FRUiT a écrit :

[…] Qu'est-ce qui te permet de juger mon niveau en bash ? Tu t'es tapé toute ma postographie ?

Non, mais tu montres ici de grosses lacunes. Je ne suis moi-même pas une tronche en bash, mais je peux quand même repérer des constructions incorrectes ou boiteuses. wink
Si tu veux progresser, lis le manuel de bash, ça s’apprend très bien, et tu pourras bientôt à ton tour me reprendre. ^^


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#17 Le 13/09/2011, à 18:34

FRUiT

Re : Convertir un dossier en mp3

Πυλάδης a écrit :

Mais pour l’esthétique du code, il est important de les mettre.

Ok tout est dit. Mort de rire. Pour ma part j'arrête là, pense ce que tu veux, et moi j'ai mon avis, c'est bien.


Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#18 Le 14/09/2011, à 23:15

athlon64

Re : Convertir un dossier en mp3

Bonjour

Non je n'ai pas déserté smile

Mon serveur étant coupé pour le moment, je testerai demain et j'éditerai pour vous faire part des retours

merci de prendre du temps pour me répondre, et je sais qu'en bash le typage n'existe pas vraiment

EDIT Donc j'ai fais les modifications et toujours un bug hmm

line 14: syntax error near unexpected token `then'
line 14: `                if[ "$ext" = ${tabExt[$j]} ]; then'

j'avoue avoir du mal à comprendre l'erreur là

Dernière modification par athlon64 (Le 15/09/2011, à 13:09)


[En cours...] Ubuntu Desktop 11.04 Natty Narwhal 64bits
Core2Quad Q9400 | 4Go RAM | HDD 640Go WD Caviar | Sapphire ATI/AMD Radeon HD4890 1Go Vapor-X
[Prêt] Ubuntu Server 10.04 Lucid Lynx LTS 64bits
AMD Phenom X-3 Q9550 | 4Go de RAM | Syst. 160Go Seagate Barracuda | Data 1To WD Caviar Green

Hors ligne

#19 Le 15/09/2011, à 15:13

Levi59

Re : Convertir un dossier en mp3

athlon64 a écrit :

Donc j'ai fais les modifications et toujours un bug hmm

line 14: syntax error near unexpected token `then'
line 14: `                if[ "$ext" = ${tabExt[$j]} ]; then'

Pourrais tu STP poster le nouveau code avec l'ensemble des modifications apportées car un débat philosophique qui n'avait pas sa place ici a rendu le post difficile à suivre.
merci

Hors ligne

#20 Le 15/09/2011, à 15:51

redo_fr

Re : Convertir un dossier en mp3

Salut,

il ne manque pas un espace entre le 'if' et le '[' ?


Il n'y a pas de mauvais outils, il n'y a que de mauvais ouvriers
- papy -
Personnellement, je crois que faire des procès est un signe que les affaires vont mal. Je ne dis pas que Microsoft va mal, ce n'est qu'un signe, pas un indicateur...
- Linus Torvalds -

Hors ligne

#21 Le 15/09/2011, à 16:17

athlon64

Re : Convertir un dossier en mp3

voilà smile

#!/bin/bash

verif=0
declare -a tabExt=( mpeg mpg txt avi flv mkv nfo cue sfv iso m3u m4v mov )
sizeTab=${#tabExt[@]}
echo SSSSSIIIIZZZZEEEEE $sizeTab
tabExt["$sizeTab"]=$1
sizeTab=${#tabExt[@]}
echo SSSSIIIZZZZ $sizetab

for i in *; do
        j=0
        ext=`echo "$i" | cut -d'.' -f2`
        echo $ext
        while [ $j -lt $sizeTab ] && [ $verif -eq 0 ]; do
                if [ "$ext" = ${tabExt[$j]} ]; then
                        verif=0
                        let j+=1
                else
                        verif=1
                fi
                done
                if [ $verif -eq 1 ]; then
                        bitrate=`ffmpeg -i $i 2>&1 | grep 'bitrate:' - | cut -d' ' -f8`
                        let bitrate*=$2
            echo $bitrate $ext $3
                        ffmpeg -i "$i" -ab "$bitrate'k'" -acodec "$3" "${i%$ext}$1"
                        echo 'Conversion de $i finie'
                fi
done

oui j'ai l'impression d'avoir lancé un débat pour ce que j'ai pu comprendre est une broutille dans mon cas xD

Pour revenir au script ça marche, enfin presque, j'ai maintenant un problème sur le tableau, je viens de voir qu'il "disparait" quand j'ajoute l'extension (argument 1) pour exclure ce type de fichier, donc forcément si je mets $1 = mp3 bah il convertit quand meme les MP3

Dernière modification par athlon64 (Le 15/09/2011, à 16:29)


[En cours...] Ubuntu Desktop 11.04 Natty Narwhal 64bits
Core2Quad Q9400 | 4Go RAM | HDD 640Go WD Caviar | Sapphire ATI/AMD Radeon HD4890 1Go Vapor-X
[Prêt] Ubuntu Server 10.04 Lucid Lynx LTS 64bits
AMD Phenom X-3 Q9550 | 4Go de RAM | Syst. 160Go Seagate Barracuda | Data 1To WD Caviar Green

Hors ligne

#22 Le 15/09/2011, à 17:31

Levi59

Re : Convertir un dossier en mp3

tabExt["$sizeTab"]=$1

Cette syntaxe est fausse. Si tu souhaite ajouter un élément à la liste via $1, le mieux est de faire:

declare -a tabExt=( mpeg mpg txt avi flv mkv nfo cue sfv iso m3u m4v mov $1 )
sizeTab=${#tabExt[@]}
echo SSSSSIIIIZZZZEEEEE $sizeTab

ou alors si tu souhaite garder l'ajout postérieur au "declare" :

declare -a tabExt=( mpeg mpg txt avi flv mkv nfo cue sfv iso m3u m4v mov )
sizeTab=${#tabExt[@]}
echo SSSSSIIIIZZZZEEEEE $sizeTab
[[ -n $1 ]] && {
    tabExt+=( $1 )
    sizeTab=${#tabExt[@]}
    echo SSSSIIIZZZZ $sizetab
}

Dernière modification par Levi59 (Le 15/09/2011, à 22:44)

Hors ligne

#23 Le 15/09/2011, à 17:50

athlon64

Re : Convertir un dossier en mp3

merci je n'avais pas pensé à cette possibilité smile

en fait j'ai problème d'algorithme, je viens de m'en rendre compte, la boucle while est très mal construite

EDIT Effectivement ma boucle était très mal construire, elle faisait tout à l'envers

encore merci de m'avoir aider, au moins j'ai fais des erreur que je devrais pas refaire au niveau du bash wink

Dernière modification par athlon64 (Le 15/09/2011, à 17:59)


[En cours...] Ubuntu Desktop 11.04 Natty Narwhal 64bits
Core2Quad Q9400 | 4Go RAM | HDD 640Go WD Caviar | Sapphire ATI/AMD Radeon HD4890 1Go Vapor-X
[Prêt] Ubuntu Server 10.04 Lucid Lynx LTS 64bits
AMD Phenom X-3 Q9550 | 4Go de RAM | Syst. 160Go Seagate Barracuda | Data 1To WD Caviar Green

Hors ligne

#24 Le 15/09/2011, à 18:08

Levi59

Re : Convertir un dossier en mp3

Pour la suite je n'ai pas vraiment regardé mais je peux te donner 2-3 indications :
-Évite d'utiliser comme syntaxe

`commande`

, utilise plutôt

$(commande)

.
-pour l'extension, pas besoin de passer par cut, utilise plutot

EXT=${i##*.}

-À la place de

let j+=1

utilise plutôt

((j++))

À la place de la boucle while, tu peux aussi utiliser une boucle for:

j=0
for i in ${tabExt[@]}
do
    [[ $ext = ${tabExt[$j]} ]] && {
        verif=1
        break
    }
    ((j++))
done

Dernière modification par Levi59 (Le 15/09/2011, à 18:11)

Hors ligne

#25 Le 15/09/2011, à 18:11

athlon64

Re : Convertir un dossier en mp3

pour la première remarque, pourquoi ce que j'ai fais nétait pas bon ?
question d'optimisation ?

pour l'extension je n'y avais pas pensé, je modifie smile

j'ai une preférence pour le while, je sais pas pourquoi :')


[En cours...] Ubuntu Desktop 11.04 Natty Narwhal 64bits
Core2Quad Q9400 | 4Go RAM | HDD 640Go WD Caviar | Sapphire ATI/AMD Radeon HD4890 1Go Vapor-X
[Prêt] Ubuntu Server 10.04 Lucid Lynx LTS 64bits
AMD Phenom X-3 Q9550 | 4Go de RAM | Syst. 160Go Seagate Barracuda | Data 1To WD Caviar Green

Hors ligne