본문 바로가기
Linux/bash

[bash] 하위 폴더의 중복파일 검사

by 暻煥 2024. 2. 3.

md5 암호화를 이용하여 하위 폴더내부의

중복된 파일이 있는지 검사하는 script

 

## FileName : find_duplicate.sh ##

rm -vf checkDuplicatedFile DuplicatedFile.csv
root_file=$1
find $root_file ! -empty -type f -exec md5sum {} + | sort | uniq -w32 -dD >> checkDuplicatedFile
echo "MD5,FilePath,Size(Byte)" > "DuplicatedFile.csv"
while read line
do
    md5=`echo "$line" | awk '{print$1}'`
    pathFile=`echo "$line" | awk '{sub(/[^ ]+[ ]+/,"")}1'`
    pathName=`echo "$line" | awk '{sub(/[^ ]+[ ]+/,"")}1' | cut -d '/' -f3-`
    fileName=`basename "$pathName"`
    filePath=`dirname "$pathName"`
    size=`ls -al "$pathFile" | awk '{print$5}'`
    echo "$md5,"$pathFile",$size" >> "DuplicatedFile.csv"
done < checkDuplicatedFile

echo "Result ==> DuplicatedFile.csv"

 

 

위 스크립트를 find_duplicate.sh 이름으로 저장하고,

폴더 경로 및 이름을 인자로 하여 실행.

./check_duplicate.sh TestFolder/

 

 

만약 아래와 같은 중복 파일을 가지고 있는 폴더가 있다면,

 

 

스크립트 실행후,

DuplicatedFile.csv 파일을 열어보면 중복 파일 검사가 완료된것을 알 수 있다.

.

'Linux > bash' 카테고리의 다른 글

[.bashrc] color prompt  (0) 2024.02.03
[.bashrc] - ls 관련 추가  (0) 2024.02.03