#1 Le 09/09/2011, à 18: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, à 20: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, à 23: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 10/09/2011, à 00: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 10/09/2011, à 00:18
- athlon64
Re : Convertir un dossier en mp3
j'ai corigé ce que tu m'as dit, mais toujours la même erreur
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, à 19:45
- gerarmentor
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
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, à 20: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.
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, à 20: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 13/09/2011, à 00:36
- Pylades
Re : Convertir un dossier en mp3
@ FRUiT : -_-"
P’tain tu persistes, toi…
./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 CFLAGS…
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, à 11: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
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, à 13: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…
“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, à 14: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, à 14: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, à 17:19
- FRUiT
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.
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 ?
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, à 17:37
- Pylades
Re : Convertir un dossier en mp3
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.
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, à 17:47
- FRUiT
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.
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.
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, à 18: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, à 18:54
- Pylades
Re : Convertir un dossier en mp3
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…
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.
[…] (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…
[…] 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.
[…] 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…
[…] 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.
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, à 19:34
- FRUiT
Re : Convertir un dossier en mp3
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 15/09/2011, à 00:15
- athlon64
Re : Convertir un dossier en mp3
Bonjour
Non je n'ai pas déserté
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
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, à 14: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, à 16:13
- Levi59
Re : Convertir un dossier en mp3
Donc j'ai fais les modifications et toujours un bug
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, à 16: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, à 17:17
- athlon64
Re : Convertir un dossier en mp3
voilà
#!/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, à 17: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, à 18: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, à 23:44)
Hors ligne
#23 Le 15/09/2011, à 18:50
- athlon64
Re : Convertir un dossier en mp3
merci je n'avais pas pensé à cette possibilité
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
Dernière modification par athlon64 (Le 15/09/2011, à 18: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, à 19: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, à 19:11)
Hors ligne
#25 Le 15/09/2011, à 19: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
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