Sto cercando di convertire automaticamente i file flac spostati in una cartella in mp3 in un'altra cartella.
La mia attuale riga di codice è questa:
inotifywait -m -r -q -e moved_to --format "'%w%f'" ~/test | xargs -I x flac -cd x - | lame -b 320 - /media/1tb/x.mp3
Per spiegare come funziona finora, inotifywait monitor ~ / test ricorsivamente per i file spostati lì, esponendo il percorso e il nome del file in una pipe. xargs prende quel nome e crea il comando flac corretto, sostituendo x con il nome file e decodificando il file in un'altra pipe. Nel nuovo pipe lame elabora l'output di flac in mp3 in / media. Voglio che xargs raggiunga attraverso la pipe in qualche modo, sostituendo la x nel comando lame o in qualche modo inviarlo a una variabile a cui entrambi i comandi possono accedere o qualcosa del genere. Ho provato a scherzare con le named pipe e quel jazz, ma il fatto che ci siano dati effettivi inviati tra i due comandi mi ha messo in difficoltà.
while read …
è una soluzione, ma poi, rilasciaxargs
. Quello che hai scritto non ha senso: dove pensi chexargs
stia ottenendo il suo contributo? E dovresti citare le cose correttamente, è comune che i nomi dei file musicali contengano spazi.