我最终收录了很多.m4a和.mp3格式的歌曲。重复的.mp3s与其对应的.m4as位于相同的文件夹中,我想删除.mp3s。我正在尝试编写一个bash脚本来为我做这个,但我很擅长于编写脚本并且不确定我做错了什么。这是我的代码:
#!/bin/bash
for f in ~/music/artist/album/* ; do
if [ -f f.m4a ] && [ -f f.mp3 ] ; then
rm f.mp3
echo "dup deleted"
fi
done
如果有人能弄清楚这里出了什么问题,我真的很感激。谢谢!
答案 0 :(得分:4)
#!/bin/bash
# No need to loop through unrelated files (*.txt, directories, etc), right?
for f in ~/music/artist/album/*.m4a; do
f="${f%.*}"
if [[ -f ${f}.mp3 ]]; then
rm -f "${f}.mp3" && echo >&2 "${f}.mp3 deleted"
fi
done
答案 1 :(得分:0)
#!/bin/bash
for f in ~/music/artist/album/* ; do
f="${f%.*}" # remove extension in simple cases (not tar.gz)
if [[ -f ${f}.m4a && -f ${f}.mp3 ]] ; then
rm -f "${f}.mp3" && echo "dup deleted"
fi
done