Próbuję automatycznie przekonwertować pliki flac przeniesione do folderu na mp3 w innym folderze.
Mój obecny wiersz kodu to:
inotifywait -m -r -q -e moved_to --format "'%w%f'" ~/test | xargs -I x flac -cd x - | lame -b 320 - /media/1tb/x.mp3
Aby wyjaśnić, jak to działa do tej pory, inotifywait monitoruje ~ / test rekurencyjnie dla plików tam przeniesionych, wysyłając ścieżkę i nazwę pliku do potoku. xargs przyjmuje tę nazwę i tworzy właściwe polecenie flac, zastępując x nazwą pliku i dekodując plik na inny potok. W nowym potoku lame przetwarza dane wyjściowe flaca na mp3 under / media. Chcę, aby xargs w jakiś sposób sięgał w poprzek potoku, zastępując x w poleceniu lame lub w jakiś sposób wysyłał go do zmiennej, do której oba polecenia mają dostęp lub coś. Próbowałem bawić się nazwanymi potokami i tym jazzem, ale fakt, że między tymi dwoma poleceniami przesyłane są rzeczywiste dane, prowadzi mnie ponad głowę.
while read …
jest rozwiązaniem, ale potem upuśćxargs
. To, co napisałeś, nie ma sensu: jak myślisz, skądxargs
bierze się Twój wkład? I powinieneś cytować wszystko poprawnie, często nazwy plików muzycznych zawierają spacje.