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 |