Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如果目录中存在同名的.m4文件,请删除.mp3文件_Bash_Mp3_M4a - Fatal编程技术网

Bash 如果目录中存在同名的.m4文件,请删除.mp3文件

Bash 如果目录中存在同名的.m4文件,请删除.mp3文件,bash,mp3,m4a,Bash,Mp3,M4a,我的许多歌曲都是.m4a和.mp3格式的。重复的.mp3与对应的.m4as位于相同的文件夹中,我想删除.mp3。我正试图编写一个bash脚本来为我实现这一点,但我对bash脚本非常陌生,不确定自己做错了什么。这是我的密码: #!/bin/bash for f in ~/music/artist/album/* ; do if [ -f f.m4a ] && [ -f f.mp3 ] ; then rm f.mp3 echo "dup del

我的许多歌曲都是.m4a和.mp3格式的。重复的.mp3与对应的.m4as位于相同的文件夹中,我想删除.mp3。我正试图编写一个bash脚本来为我实现这一点,但我对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

如果有人能找出这里出了什么问题,我将不胜感激。谢谢

f.m4a->$f.m4af.m4a->$f.m4aWell,我以为它能用,但它不行。.mp3文件仍然没有被删除。@JesseEvers我测试过它,它对我有用。恐怕,只要你不提供任何细节,我就不能再说别的了。据我所知,似乎没有更多的细节可以提供了。当我运行程序时,我没有得到任何输出,文件夹中的mp3文件也没有被删除。好吧,我以为它能工作,但它不能。.mp3文件仍然没有被删除。@JesseEvers我测试过它,它对我有用。恐怕,只要你不提供任何细节,我就不能再说别的了。据我所知,似乎没有更多的细节可以提供了。我运行程序时没有得到任何输出,文件夹中的mp3文件也没有被删除。
#!/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
#!/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