Выберите несколько файлов в качестве входных и выходных

Я новичок в Линуксе. Я использую аудиокодек opus и для преобразования wav-файла в opus-файл использую команду ниже.

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

Здесь male_angry_testing.wav и male_angry_testing_opus.opus являются входным и выходным файлом. Но я хочу преобразовать несколько таких файлов, но не по отдельности. Есть ли какой-нибудь метод петлевания, который я могу использовать для этого преобразования ?

1
задан 6 October 2020 в 13:22

1 ответ

Это сработает?

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

Или (используя расширение параметра оболочки, чтобы избежать внешней команды cut):

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

Спасибо @user3140225 за помощь с форматированием.

2
ответ дан 6 October 2020 в 10:28

Другие вопросы по тегам:

Похожие вопросы: