Pour convertir les fichiers MOV en MP4 dans le répertoire, j'utilisais (j'utiliser plusieurs commandes avec avconv, mais je raccourcies pour syntetize):Convertir plusieurs fichiers vidéo récursif en utilisant « trouver » et « avconv »
for f in *.MOV; do echo "Converting $f"; avconv -i "$f" "${f:0: -4}.mp4"; done
Et ça marche. Il convertit tous les fichiers.
Mais maintenant, je veux convertir tous les fichiers dans le répertoire et tous les sous-répertoires (récursivement). J'ai essayé:
for f in "$(find ./ -name '*.MOV')"; do echo "Converting $f"; avconv -i "$f" "${f:0: -4}.mp4"; done
Mais cela ne fonctionne pas, car il génère:
[email protected]:~/Imágenes$ for f in "$(find ./ -name '*.MOV')"; do echo "Converting $f"; avconv -i "$f" "${f:0: -4}.mp4"; done
Converting ./2015-05-23 Tutorial Masa de colores/MVI_9219.MOV
./2015-05-23 Tutorial Masa de colores/MVI_9196.MOV
./2015-05-23 Tutorial Masa de colores/MVI_9199.MOV
./2015-05-23 Tutorial Masa de colores/MVI_9200.MOV
avconv version 9.18-6:9.18-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav developers built on Mar 16 2015 13:19:10 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
./2015-05-23 Tutorial Masa de colores/MVI_9219.MOV
./2015-05-23 Tutorial Masa de colores/MVI_9196.MOV
./2015-05-23 Tutorial Masa de colores/MVI_9199.MOV
[email protected]:~/Imágenes$
(liste des derniers fichiers apparaissent en rouge)
Il semble que trouver œuvres, il entre dans chaque répertoire et echo "Convertir $ f" aussi ... mais avconv reçoit tous ces noms de fichiers sous forme de liste avec newlines, pas chaque élément de la boucle "for".
Pourquoi écho fonctionne et avconv ne fonctionne pas?
Ou ...
Pourquoi for f in * .MOV » travaille avec avconv et pour f dans « $ (trouver ./ -name '* .MOV) ne fonctionne pas?
Qu'est-ce que vous obtenez si vous dites 'pour f dans « $ (trouver ./ -name '* .MOV') "; fais écho "$ f"; fait? C'est-à-dire, est-ce qu'il «trouve» tous les fichiers - et seulement tous - que vous voulez traiter? – fedorqui
Je reçois la liste des fichiers.MOV qui se trouvent dans le répertoire et les sous-répertoires. Tous et seulement les fichiers que je veux traiter. Comme: ./2015-05-23 Tutoriel Masa de colores/MVI_9219.MOV ./2015-05-23 Tutoriel Masa de colores/MVI_9196.MOV ... –