选择多个文件作为输入和输出

选择多个文件作为输入和输出

我是 Linux 新手。我正在使用 opus 音频编解码器,要将 wav 文件转换为 opus 文件,我使用以下命令。

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

这里male_angry_testing.wavmale_angry_testing_opus.opus是输入和输出文件。但我想像这样转换多个文件,而不是单独转换。有没有可以用于此转换的循环方法?

答案1

这有用吗?

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

或者(使用 shell 参数扩展来避免外部cut命令):

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

感谢@user3140225 帮助格式化。

相关内容