Seleziona più file come input e output

Oct 06 2020

Sono nuovo su Linux. Sto usando il codec audio opus e per convertire un file wav in file opus sto usando il comando seguente.

$ opusenc --bitrate 64 male_angry_testing.wav male_angry_testing_opus.opus 

Qui male_angry_testing.wave male_angry_testing_opus.opussono file di input e di output. Ma voglio convertire più file come questo ma non singolarmente. C'è un metodo di loop che posso usare per questa conversione?

Risposte

2 WilliamMartens Oct 06 2020 at 17:28

Funzionerebbe?

for i in *.wav;
  do name=$(echo "$i" | cut -d'.' -f1)
  echo "$name" opusenc --bitrate 64 "$i" "${name}.opus"
done

Oppure (utilizzando l'espansione dei parametri della shell per evitare il cutcomando esterno ):

for i in *.wav; do 
  opusenc --bitrate 64 "$i" "${i%.wav}.opus"
done

Grazie @ user3140225 per l'aiuto con la formattazione.