Próbowałem przekonwertować niektóre pliki .ape na pliki .flac przy użyciu avconv
wiersza polecenia; oczywiście avconv
nie jest tutaj głównym celem; Jego składnia jest bardzo proste, avconv -i inputApeFile.ape outputFlacFile.flac
.
Chodzi o to, że pliki są zagnieżdżone w większej liczbie podfolderów; tzn. mam folder Artist, a następnie różne podfoldery CD, z których każdy zawiera różne pliki .ape. Jak przekonwertować wszystkie pliki, a następnie zapisać je w tym samym folderze oryginalnego pliku, ale z rozszerzeniem .flac?
Jeśli to możliwe, chciałbym używać tylko polecenia powłoki w jednym wierszu bez użycia skryptów. Myślę, że tak powinno być
avconv -i 'ls -R | grep ape' '???'
ale utknąłem z drugą częścią (może używając sed
??!?)
źródło
Teraz, gdy ffmpeg jest znów preferowany niż avconv, i istnieje wiele tanich komputerów (60 USD za 8 rdzeni XU4), uważam, że najskuteczniejsze są następujące;
źródło
jeden wiersz poleceń szukałeś:
find -type f -name "*.ape" -print0 | xargs -0 avconv -i
find
polecenia zapewni tylko pliki kończąc .ape komenda daje względną ścieżkę do polecenia tak, że można go przekonwertować te pliki i przechowywać je w tym samym folderze co plik wejściowy (tj .ape). polecenie znajdzie wszystkie pliki w tym katalogu, niezależnie od tego, jak głęboko są przechowywane w podkatalogufind
avconv
find
źródło
avconv
nie można pobrać plików wejściowych z STDIN w ten sposób.