Bash : 如何重命名具有两个扩展名的文件?
Bash : how to rename files that have two extentions?
我调用一个小程序将 .tap 文件(retrogaming)转换为 .wav 音频文件。该程序输出新文件并仅添加 .wav 扩展名
示例:"file.tap" 变为 "file.tap.wav".
我写了一个小脚本来批量转换。它可以工作,但我无法在最后重命名文件,因此无法删除文件名中的“.tap”。
请注意,有时原始文件有小写或大写。
这是我的代码。欢迎任何帮助。
我的想法是 'erase' 最终文件名中的“.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
只需删除.tap
,然后添加.wav
;没有必要尝试更换。
for f in *; do
./tape_converter -11 -a "$f" "$f.wav"
mv -- "$f" "${f%.tap}.wav"
done
您可以将脚本修改为
for f in *.tap; do
<your command> "$f" "${f%.*}.wav"
done
这将直接命名具有相同基本名称和扩展名“.wav”的输出文件。
这是我的最终代码。谢谢
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
我调用一个小程序将 .tap 文件(retrogaming)转换为 .wav 音频文件。该程序输出新文件并仅添加 .wav 扩展名 示例:"file.tap" 变为 "file.tap.wav".
我写了一个小脚本来批量转换。它可以工作,但我无法在最后重命名文件,因此无法删除文件名中的“.tap”。 请注意,有时原始文件有小写或大写。
这是我的代码。欢迎任何帮助。 我的想法是 'erase' 最终文件名中的“.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
只需删除.tap
,然后添加.wav
;没有必要尝试更换。
for f in *; do
./tape_converter -11 -a "$f" "$f.wav"
mv -- "$f" "${f%.tap}.wav"
done
您可以将脚本修改为
for f in *.tap; do
<your command> "$f" "${f%.*}.wav"
done
这将直接命名具有相同基本名称和扩展名“.wav”的输出文件。
这是我的最终代码。谢谢 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