Estaba tratando de convertir algunos archivos .ape a archivos .flac usando la avconvlínea de comandos; obviamente, avconvno es el punto principal aquí; su sintaxis es bastante sencillo, avconv -i inputApeFile.ape outputFlacFile.flac.
El punto es que los archivos están anidados en más subcarpetas; es decir, tengo la carpeta Artist, luego varias subcarpetas de CD, cada una de las cuales contiene diferentes archivos .ape. ¿Cómo puedo convertir todos los archivos y luego guardarlos en la misma carpeta del archivo original pero con la extensión .flac?
Si es posible, me gustaría usar solo el comando de shell en una sola línea sin usar scripts. Creo que debería ser algo así
avconv -i 'ls -R | grep ape' '???'
pero estoy atrapado con la segunda parte (¿tal vez usando sed??!?)
fuente

Ahora que se prefiere ffmpeg sobre avconv nuevamente, y hay muchas computadoras centrales baratas ($ 60 por un XU4 de 8 núcleos), creo que lo siguiente es más efectivo;
fuente
un comando de línea que estaba buscando: el
find -type f -name "*.ape" -print0 | xargs -0 avconv -ifindcomando proporcionará solo archivos que terminen en .ape,el
findcomando proporcionará la ruta relativa alavconvcomando para que pueda convertir esos archivos y mantenerlos en la misma carpeta que el archivo de entrada (es decir, .ape).findEl comando encontrará todos los archivos en ese directorio independientemente de qué tan profundo se guarden en el subdirectoriofuente
avconvno puede tomar archivos de entrada de STDIN así.