首页 > 编程 > Ruby > 正文

Ruby遍历文件夹同时计算文件的md5sum

2020-10-29 19:39:21
字体:
来源:转载
供稿:网友
#!/usr/bin/ruby -w#require 'digest/md5'if ARGV.empty?    puts "usgae: #$0 path"    exit 0enddir_name=ARGV.shiftdef 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    endenddir_md5sum(dir_name)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表