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.

#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 smile


[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 :

Levi59 a écrit :

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

Postmortem a écrit :

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 ?

yikes
neutral
hmm
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 smile

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 "-" smile


[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 big_smile


[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