1. 程式人生 > >通過檔案大小和MD5校驗識別重複檔案

通過檔案大小和MD5校驗識別重複檔案

#!/bin/sh
if [ $# != "1" ] || [ $1 = "--help" ];then
echo "Sytax:md5-sum.sh directory";
exit;
fi
echo "Begin"
#file-list
list=$(find $1);


#rm
$(rm -fr file_tmp.txt)
$(rm -fr file_result.txt)


#Loop
for item in $list;
do
if [ -f "${item}" ];then
md5str="$(md5sum ${item} 2>/dev/null | awk '{print $1}')";
    filesize="$(du -sk ${item} 2>/dev/null | awk '{print $1}')";
    echo "${item},${filesize},${md5str}" >> file_tmp.txt
fi
done
echo "End"


#

awk 'BEGIN {FS=","}{if (!($2,$3) in tarry){tarry[$2,$3]=$1}else{tarry[$2,$3]=tarry[$2,$3]","$1}}END{for(k in tarry){split(k,tarr2,SUBSEP);print tarr2[1],"*",tarr2[2],"=",tarry[k];}}' file_tmp.txt >> file_result.txt

相關推薦

通過檔案大小MD5識別重複檔案

#!/bin/sh if [ $# != "1" ] || [ $1 = "--help" ];thenecho "Sytax:md5-sum.sh directory";exit; fi echo "Begin" #file-list list=$(find $1); #

圖片或檔案上傳md5(php+iOS)

為了保證上傳圖片或檔案的完整性,通常客戶端和服務端會對圖片進行md5校驗: iOS 端://MARK:大檔案的MD5加密 -(NSString*)fileMD5:(NSString*)path {     NSFileHandle *handle = [NSFileHand

檔案大小佔用空間的區別(為什麼檔案大小佔用空間不一樣大)

1.“檔案大小”與“所佔空間”的差別為了便於大家理解,我們先來看兩個例子:例1:找到D盤上的Ersave2.dat檔案,用滑鼠右鍵單擊該檔案,選擇“屬性”,即可開啟對話方塊,我們可以看到,Ersave2.dat的實際大小為655,628 Byte(位元組),但它所佔用的空間

使用md5演算法保護檔案

一、理論部分:1、預備知識1.1什麼是資料校驗通俗的說,就是為保證資料的完整性,用一種指定的演算法對原始資料計算出的一個校驗值。接收方用同樣的演算法計算一次校驗值,如果和隨資料提供的校驗值一樣,就說明資料是完整的。1.2最簡單的檢驗實現方法:最簡單的校驗就是把原始資料和待比較資料直接進行比較,看是否完全一樣這

Golang 獲取檔案 md5 的方法及效率比較

近期有一個需求:獲取多個檔案 md5 校驗和判斷是否存在重複檔案,因為檔案數量較多,有的檔案還比較大,需要處理的檔案還沒有到位,我就考慮了一下效率的問題。目前我已知的 Golang 中獲取 md5 校驗和的方法有兩個,這裡直接給出實現原始碼。 packag

編寫一個計算機程式用來計算一個檔案的16位

題目 編寫一個計算機程式用來計算一個檔案的16位校驗和。最快速的方法是用一個32位的整數來存放這個和。記住要處理進位(例如,超過16位的那些位),把它們加到校驗和中。* 原理: 把要傳送的資料看成16位元的二進位制整數序列,並計算他們的和。若資料位元組長度為

Python的學習(三十) ---- Python實現檔案md5

Linux下校驗檔案MD5值,最簡單的方法就是執行md5sum命令 md5sum filename 原本打算用subprocess呼叫系統命令來獲取md5值, import subprocess,shlex cmd = "md5sum filename" p = subpr

.net大檔案上傳報錯問題,可以通過設定iis的檔案大小config的大小

在 Win2008(iis 7.0)和Win2003(iis 6.0) 中,預設設定是特別嚴格和安全的,這樣可以最大限度地減少因以前太寬鬆的超時和限制而造成的攻擊。 指定 ASP 請求的實體主體中允許大小為 200,000 (IIS6為204,800) 個位元組,在 ii

檔案上傳,使用js對檔案進行,包括檔案單個大小,格式,總的檔案大小檔案是否為空等

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = reque

SpringMVC實現頁面java模型的資料互動以及檔案上傳下載資料

1. 專案結構 2.  springMVC-servlet.xml 配置檔案 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org

iOS檔案MD5--大檔案MD5加密

    繼續上次的話題,一般大檔案下載下來,為了確定這個檔案是否下載有誤,或者檢查此檔案在下載過程中有沒有損壞,我們需要進行的一步安全性操作就是大檔案的MD5加密,用你加密的字串,和原始檔的md5字串進行校驗,看是否一樣。今天,我就簡單介紹一種大檔案的MD5加密的方法。  

md5檔案資料

md5.h #ifndef MD5_H #define MD5_H typedef struct { unsigned int count[2]; unsigned int state[4]; unsigned char buffer[64];

MD5 (checksum)

MD5 校驗和(checksum)通過對接收的傳輸資料執行雜湊運算來檢查資料的正確性。 一個雜湊函式,比如 MD5,是一個將任意長度的資料字串轉化成短的固定長度的值的單向操作。任意兩個字串不應有相同的雜湊值(即,有“很大可能”是不一樣的,並且要人為地創造出來兩個雜湊值相

登錄(ajax提交數據後臺)

list gin status control png sta post ram else 1.前臺ajax數據提交 <form id="login_form" action="" method="POST"> <div class="login_f

C# MD5

[] stream mode ssa 進制 new null byte[] 表示 1.方法1 private static string GetMD5HashFromFile(string fileName) { try { FileStream file = ne

用戶名密碼程序

提示 用戶名 pass true () brush inpu highlight print name = input(‘請輸入用戶名:‘) password = input(‘請輸入密碼:‘) if 6 <= len(name) <= 20: pri

MD5 文件

nco proc file enc typedef ssi xtra tde spa https://blog.csdn.net/wudishine/article/details/42466831 MD5.h #ifndef MD5_H #define MD5_H #

Ubuntu鏡像的MD5

所有 align 存在 cnblogs -a releases logs text 格式 造冰箱的大熊貓@cnblogs 2018/9/7 1、在Ubuntu終端中,按照以下格式輸入命令計算鏡像文件ubuntu-xxx.iso的MD5校驗和。 md5sum ubuntu-

shell指令碼限制日誌檔案大小行數

背景: 專案server在後端持續執行,日誌檔案不斷變大,需及時進行清空。 解決方案:編輯sh指令碼,指定時間間隔輪詢;將超出限制的日誌檔案,先備份,再清空原日誌檔案內容。 清空日誌檔案內容的方法有:             1

日誌資訊新增引數

1:在類中要新增日誌資訊: private static final Logger log = LogManager.getLogger(ShopCartAction.class); log.info();//普通訊息 log.error();//錯誤資訊列印 log.debug()