#26 Le 15/09/2011, à 19:14
- Levi59
Re : Convertir un dossier en mp3
la question de syntaxe c'est plus une question de lisibilité. C'est la même chose sauf que l'on l'utilise dans les nouvelles versions de bash.
Hors ligne
#27 Le 15/09/2011, à 19:25
- athlon64
Re : Convertir un dossier en mp3
ah Ok, je comprends mieux, c'est vrai que le $() est plus pratique que `` à lire et à écrire
j'ai rajouté une petite option, pour savoir si le 3ème argument a été entré ou non, est-ce bon ? (la syntaxe surtout)
if [ -z $3 ]; then
ffmpeg -i "$i" -ab $bitrate"k" "${i%$ext}$1"
else
ffmpeg -i "$i" -ab $bitrate"k" -acodec "$3" "${i%$ext}$1"
fi
et une dernière question, y a-t-il possibilité de remplir un tableau à partir d'un fichier texte ? avec un simple cat ?
il me serait ainsi plus facile de faire un fichier texte dans lequel les extensions à ne pas prendre y serait et que je pourrais modifier facilement
[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
#28 Le 15/09/2011, à 20:53
- Levi59
Re : Convertir un dossier en mp3
Pour la syntaxe ça me semble ok. Par contre si tu as un risque d'avoir des espaces dans $3, il vaudrait mieux mettre "$3" (avec les guillemets).
Pour remplir un tableau à partir d'un fichier texte, tout dépend de la syntaxe de ce fichier et des infos à récupérer.
si tu as un élément de tableau par ligne, tu peux utiliser while read; do ... done
liste=()
while read
do
liste+=( ${REPLY} )
done < fichier.conf
Hors ligne
#29 Le 15/09/2011, à 21:20
- athlon64
Re : Convertir un dossier en mp3
ca marche parfaitement
le but du fichier *.conf étant de modifier les fichiers à exclure de manière plus simple sans toucher au script, donc une extension par ligne
pour le $3, pas besoin de " " car le nom des librairies est en un seul mot
[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
#30 Le 15/09/2011, à 22:34
- Postmortem
Re : Convertir un dossier en mp3
Salut, je me permet une petite question :
tabExt["$sizeTab"]=$1
Cette syntaxe est fausse.
Pourquoi c'est faux ? Il me semble que ça fonctionne ?
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#31 Le 15/09/2011, à 23:43
- Levi59
Re : Convertir un dossier en mp3
Salut, je me permet une petite question :
Levi59 a écrit :tabExt["$sizeTab"]=$1
Cette syntaxe est fausse.Pourquoi c'est faux ? Il me semble que ça fonctionne ?
Effectivement. J'ai dit une grosse connerie là! ^^
j'avais mal lu l'indice de tableau...
Hors ligne
#32 Le 16/09/2011, à 00:00
- athlon64
Re : Convertir un dossier en mp3
pourtant ça ne fonctionnait pas, mon tableau se retrouvait alors vide à cause de ca...
[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
#33 Le 16/09/2011, à 10:23
- Postmortem
Re : Convertir un dossier en mp3
Je viens de tester, ça fonctionne pourtant :
$ declare -a tabExt=( mpeg mpg txt avi flv mkv nfo cue sfv iso m3u m4v mov )
$ sizeTab=${#tabExt[@]}
$ echo $sizeTab
13
$ tabExt[$sizeTab]=$1
$ sizeTab=${#tabExt[@]}
$ echo $sizeTab
14
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#34 Le 16/09/2011, à 12:08
- erresse
Re : Convertir un dossier en mp3
Bonjour,
Je ne suis pas un expert du bash, mais à la lecture du script du #1 et de l'erreur signalée, la ligne ci-dessous :
bitrate=`ffmpeg -i $i 2>&1 | grep 'bitrate:' - | cut -d' ' -f8 $
me semble comporter un caractère ` qui ne "matche" pas, entraînant que tout ce qui suit est considéré comme faisant partie du même littéral, non ???
Qu'en pensez-vous, les spécialistes ?
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#35 Le 16/09/2011, à 14:26
- FRUiT
Re : Convertir un dossier en mp3
C'est juste qu'on ne voit pas la ligne entière (voir plus bas).
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
#36 Le 16/09/2011, à 17:40
- athlon64
Re : Convertir un dossier en mp3
le tableau ne marchait pas pour moi, mais j'ai résolu
je vais maintenant ajouter la possibilité de pouvoir exclure des extensions "à la volée". c'est-à-dire en les passant en argument, séparées d'un "-"
[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
#37 Le 16/09/2011, à 19:02
- Levi59
Re : Convertir un dossier en mp3
le plus simple serait de remplacer $1 par ${1//-/ } (sans mettre de guillemets) :
declare -a tabExt=( mpeg mpg txt avi flv mkv nfo cue sfv iso m3u m4v mov ${1//-/ } )
sizeTab=${#tabExt[@]}
echo SSSSSIIIIZZZZEEEEE $sizeTab
ex :
#!/bin/bash
a=( 1 2 3 )
echo ${#a[@]}
a+=( ${1//-/ } )
echo ${#a[@]}
exit 0
qui donne
~$ ./test 1-2-3
3
6
Dernière modification par Levi59 (Le 16/09/2011, à 19:03)
Hors ligne
#38 Le 04/10/2011, à 20:18
- athlon64
Re : Convertir un dossier en mp3
merci cela fonctionne parfaitemement
[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