脚本以mime类型递归搜索目录中的文件

时间:2013-02-26 07:40:06

标签: bash

我在centos 6盒子上有samba共享目录,我只是想确保共享目录中的所有文件都必须是windows可执行文件(.exe), 有没有办法在samba共享之后根据它们的mimetype搜索samba共享上的所有目录" application / x-dosexec' mime类型文件并删除其余文件。

我试过

for i in /mnt/storage/SAMBA/*
do
    [ x"$(file --mime -b "$i")" != application/x-dosexec ] && echo rm "$i"
done

但他们不会递归搜索

1 个答案:

答案 0 :(得分:1)

使用find,选项-type f会将搜索限制为仅文件:

find /mnt/storage/SAMBA/ -type f | while read i ; do ... ; done

请注意,您在比较中忘记了x。它必须是xapplication/x-dosexec,否则您将删除所有文件。