删除linux中目录的所有子目录中的特定文件

时间:2014-12-26 15:02:55

标签: linux

我想从目录及其所有子目录中删除所有不是“.wav”格式的音频文件。

我的脚本不起作用 -

for file in /home/deepthought/Music/genres/*/; do rm $file not in *.wav; done

正确的例程应该是什么?

3 个答案:

答案 0 :(得分:5)

使用

find /home/deepthought/Music/genres -not -name '*.wav' -print

列出文件并验证它们是您要删除的文件。然后

find /home/deepthought/Music/genres -not -name '*.wav' -delete

答案 1 :(得分:1)

改为使用find命令,

find /home/deepthought/Music/genres -not -name "*.wav" -type f -delete

答案 2 :(得分:1)

尝试使用-exec命令行查找命令,如:

find /home/deepthought/Music/genres -type f -not -name "*.wav" -exec rm -f {} \;