J'essayais de convertir certains fichiers .ape en fichiers .flac à l'aide avconv
de la ligne de commande; évidemment, ce avconv
n'est pas le point principal ici; sa syntaxe est assez simple, avconv -i inputApeFile.ape outputFlacFile.flac
.
Le fait est que les fichiers sont imbriqués dans plus de sous-dossiers; c'est-à-dire que j'ai le dossier Artist, puis divers sous-dossiers CD, chacun contenant des fichiers .ape différents. Comment puis-je convertir tous les fichiers puis les enregistrer dans le même dossier que le fichier d'origine mais avec l'extension .flac?
Si c'est possible, je voudrais utiliser uniquement la commande shell sur une seule ligne sans utiliser de scripts. Je pense que ça devrait être quelque chose comme ça
avconv -i 'ls -R | grep ape' '???'
mais je suis coincé avec la deuxième partie (peut-être en utilisant sed
??!?)
la source
Maintenant que ffmpeg est de nouveau préféré à avconv, et qu'il existe de nombreux ordinateurs de base bon marché (60 $ pour un XU4 à 8 cœurs), je trouve que les suivants sont les plus efficaces;
la source
une ligne de commande que vous cherchiez: la
find -type f -name "*.ape" -print0 | xargs -0 avconv -i
find
commande ne fournira que les fichiers se terminant par .apela
find
commande donnera le chemin relatif à laavconv
commande afin qu'elle puisse convertir ces fichiers et les conserver dans le même dossier que le fichier d'entrée (ie .ape).find
La commande trouvera tous les fichiers dans ce répertoire, quelle que soit leur profondeur dans le sous-répertoirela source
avconv
ne peut pas prendre des fichiers d'entrée de STDIN comme ça.