怎么操作Ruby遍历文件夹同时计算文件的md5sum

来源:爱站网时间:2021-12-04编辑:网友分享
爱站技术小编今天用一篇文章介绍Ruby遍历文件夹同时计算文件的md5sum,本文直接给出实现代码,这篇文章还是很有参考价值的,需要的朋友可以参考下
#!/usr/bin/ruby -w
#
require 'digest/md5'

if ARGV.empty?
    puts "usgae: #$0 path"
    exit 0
end
dir_name=ARGV.shift

def dir_md5sum(path)
    md5s=Array.new
    if File.directory?(path)
        Dir.new(path).each do |file|
            next if file =~ /^\.+$/
            file="#{path}/#{file}"
            if File.directory?(file)
                dir_md5sum(file)
            elsif File.file?(file)
                md5="#{Digest::MD5.hexdigest(File.read(file))} #{file}"
                md5s.push(md5)
            end
        end
    elsif File.file?(path)
        md5="#{Digest::MD5.hexdigest(File.read(path))} #{path}"
        md5s.push(md5)
    else
        puts "Ivalid File type"
        exit 2
    end
    md5s.each do |item|
        puts item

    end
end

dir_md5sum(dir_name)

以上内容就是爱站技术频道小编为大家分享的怎么操作Ruby遍历文件夹同时计算文件的md5sum,看完以上分享之后,大家应该都知道怎么操作Ruby遍历文件夹同时计算文件的md5sum了吧。

上一篇:怎么让Ruby一行代码实现的快速排序

下一篇:利用Ruby的SOAP4R编写SOAP服务器的教程

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载