分页: 1 / 1

找出当前目录所有相同文件的脚本

发表于 : 2009-08-27 17:55
JiangHui
下了个壁纸的压缩包,发现里面很多一样的,写了这个脚本

代码: 全选

#!/bin/sh

help()
{
    echo "找出当前目录下所有相同文件"
    echo "      如果文件较多或较大,会多花一点时间,请耐心等待"
    echo "用法: findSame [选项]"
    echo "    -h, --help 显示帮助并退出 "
    echo "    -v, --version 显示版本并退出"
    echo "    -f, 仅查找当前目录,不包括子目录"
    echo "    -F, 查找当前目录,包括子目录"
    exit 0
}

ver()
{
    echo "findSame    version 0.1"
    exit 0;
}

funFindAll()
{
    find . ! -type d -exec md5sum '{}' \; | sort | uniq -w 22 -D 
    exit 0
}

funFind()
{
    find ./* -maxdepth 0 ! -type d -exec md5sum '{}' \; | sort | uniq -w 22 -D
    exit 0
}

if [ $# -eq 0 ]
then 
    help
fi

while [ -n "$1" ]
do
    case $1 in
        -h) help
        ;;
        --help) help
        ;;
        -v) ver
        ;;
        --version) ver
        ;;
        -f) funFind
        ;;
        -F) funFindAll
        ;;
        *) echo "参数错误" &&  help
    esac
done


findSame.zip
(624 Bytes) 已下载 39 次

Re: 找出当前目录所有相同文件的脚本

发表于 : 2009-08-27 17:59
蓝蓝
windows能用?
最近都很少用U

Re: 找出当前目录所有相同文件的脚本

发表于 : 2009-08-27 18:01
JiangHui
蓝蓝 写了:windows能用?
最近都很少用U
能,只要你把bash等移植到windows下 :em05

Re: 找出当前目录所有相同文件的脚本

发表于 : 2009-08-27 18:03
phuc日本狗2
我原来做了一个程序可以找到整块硬盘下所有相同的文件,可惜我把代码弄丢了
要不然移植到linux下也很容易, c++写的

Re: 找出当前目录所有相同文件的脚本

发表于 : 2009-08-27 18:07
JiangHui
phuc日本狗2 写了:我原来做了一个程序可以找到整块硬盘下所有相同的文件,可惜我把代码弄丢了
要不然移植到linux下也很容易, c++写的
整块,太猛了……不知道资源占用怎么样
在 / 下执行这个脚本估计也可以做到,不过八成会很卡了……

Re: 找出当前目录所有相同文件的脚本

发表于 : 2009-08-27 18:14
delectate
移贴至shell区

Re: 找出当前目录所有相同文件的脚本

发表于 : 2009-08-27 18:16
JiangHui
delectate 写了:移贴至shell区
这么简单的东西移到那么专业的地方不合适吧…还是拿来灌水好了 :em09

Re: 找出当前目录所有相同文件的脚本

发表于 : 2009-08-27 18:31
phuc日本狗2
JiangHui 写了:
phuc日本狗2 写了:我原来做了一个程序可以找到整块硬盘下所有相同的文件,可惜我把代码弄丢了
要不然移植到linux下也很容易, c++写的
整块,太猛了……不知道资源占用怎么样
在 / 下执行这个脚本估计也可以做到,不过八成会很卡了……
很快,直接调用最底层的api写的,算法我自己搞的,搜一个盘也就是差不多几十秒的时,可能一分钟左右,我不记得了。一个小孩的主意,然后我做的代码,他估计现在用visual basic封装了一下用来出售。

Re: 找出当前目录所有相同文件的脚本

发表于 : 2009-08-27 18:34
delectate
md5计算

方法很好,可惜速度慢。

而且有的图片看起来一样,但是md5就是不一样

还是判重方便。

Re: 找出当前目录所有相同文件的脚本

发表于 : 2009-08-27 18:53
c\nc
有个工具叫 fdupes

Re: 找出当前目录所有相同文件的脚本

发表于 : 2009-08-29 1:05
xzap
c\nc 写了:有个工具叫 fdupes
完全正确,效率和md5可不可同日而语的