我调用一个小程序将.tap文件(retrogaming)转换为.wav音频文件。程序输出新文件,只需添加.wav扩展名 例如:“file.tap”变为“file.tap.wav”。
我写了一个小脚本来批量转换。它工作但我无法管理最后重命名文件,以删除文件名中的“.tap”。 请注意,有时原始文件具有小写或大写。
这是我的代码。欢迎任何帮助。 我的想法是在最终文件名中“删除”“.tap”或“.TAP”。 nb:我必须在指令中使用$ file.wav,否则它不起作用。 谢谢你的帮助
#!/bin/bash
for file in `ls`;
do
./tape_converter -11 -a $file $file.wav ;
mv $file ${file/\.tap\.wav/\.wav/};
done
答案 0 :(得分:0)
只需删除.tap
,然后添加.wav
;没有必要尝试替换。
for f in *; do
./tape_converter -11 -a "$f" "$f.wav"
mv -- "$f" "${f%.tap}.wav"
done
答案 1 :(得分:0)
您可以将脚本修改为
for f in *.tap; do
<your command> "$f" "${f%.*}.wav"
done
这将直接命名具有相同基本名称和扩展名“.wav”的输出文件。
答案 2 :(得分:0)
这是我的最终代码。谢谢 thanasisp。它工作正常。高兴。
for i in *;
do mv "$i" "$(echo $i|tr A-Z a-z)";
done
mkdir output
for f in *.tap;
do
./tape_converter -11 -a $f ${f%.*}.wav ;
mv *.wav output/
done