#1 Le 09/08/2015, à 14:19
- arieugon
[RESOLU] Traitement sur fichiers dont les noms contiennent des espaces
Bonjour à tous
Je cherche à réaliser des conversions de format de fichiers son de type m4a en mp3. Le problème que je rencontre est que je n'arrive pas à récupérer dans une variable ($file) le nom complet de chaque fichier, pour ensuite faire le traitement nécessaire sur chacun d'eux.
Admettons que la commande $ls -1 *.m4a me retourne :
fic - 1.m4a
fic - 2 m4a
...
fic - 45.m4a
Comme je veux traiter fichier par fichier je commence mon script par:
for file in $(ls -1 fic*);do
echo file=$file # pour vérifier que ma variable contient bien le nom complet de chaque fichier
done
Le résultat est le suivant:
file=fic
file=-
file=1.m4a
file=fic
file=-
file=2.m4a
etc ...
J'ai essayé de mettre entre guillements mais à ce moment là j'obtients:
file=fic - 1.m4a fic - 2.m4a ... fic - 45.m4a
Donc comment obtenir :
file=fic - 1.m4a
file=fic - 2.m4a
...
file=fic - 45.m4a
Je pourrais alors faire le traitement fichier par fichier.
Merci pour vos réponses futures
Dernière modification par arieugon (Le 09/08/2015, à 14:47)
Portable ASUS K73E : Ubuntu XFCE 20.04 / Ubuntu DDE 20.04 / Debian 10 /Debian 11 (testing) / Devuan 3
Le tout en multi-boot Grub Legacy.
Hors ligne
#2 Le 09/08/2015, à 14:29
- pingouinux
Re : [RESOLU] Traitement sur fichiers dont les noms contiennent des espaces
Bonjour,
for file in *.m4a
do
echo file="$file"
done
Hors ligne
#3 Le 09/08/2015, à 14:31
- J5012
Re : [RESOLU] Traitement sur fichiers dont les noms contiennent des espaces
entre guillemets
c'est juste le resultat de la commande echo
à chaque boucle for, file ne contient bien qu'une valeur
si tu utilises l'une des fonctions print, le resultat est different ...
Hors ligne
#4 Le 09/08/2015, à 14:46
- arieugon
Re : [RESOLU] Traitement sur fichiers dont les noms contiennent des espaces
Merci pingouinux
En fait ce qui ne convenait pas dans mon script se situe dans la première ligne:
for file in $(ls -1 *.m4a); do
au lieu de
for file in *.m4a; do
C'est ok, ça fonctionne. Je te remercie beaucoup.
Dernière modification par arieugon (Le 09/08/2015, à 14:53)
Portable ASUS K73E : Ubuntu XFCE 20.04 / Ubuntu DDE 20.04 / Debian 10 /Debian 11 (testing) / Devuan 3
Le tout en multi-boot Grub Legacy.
Hors ligne