bin/bash/!#
#
[<... Usage: ./delete-duplicates.sh [<files #
#
ایجادفایل # declare -A filecksums
No args, use files in current directory#
*-- test 0 -eq $# && set
بررسی می کند فایلهای پوشه جاریه # "$@"for file in
do
( Files only (also no symlinks #
#بررسی مقدارفایل f "$file" ]] && [[ ! -h "$file" ]] || continue-]]
Generate the checksum#
( _' ' cksum=$(cksum <"$file" | tr
Have we already got this one?#
#اگر فایلهاعین هم بود[[ " if [[ -n "${filecksums[$cksum]}" ]] && [[ "${filecksums[$cksum]}" != "$file
then
#چاپ کن پیداشده فایلهای تکراری2&< " ' {[ echo "Found '$file' is a duplicate of '${filecksums[$cksum
#درداخل یک فایل چاپ کنecho "Found '$file' is a duplicate of '${filecksums[$cksum]}'" >/root/Desktop/a.txt
#پاک کن فایلهای تکراری " rm -f "$file
#چاپ کن فایل پاک شد"echo rm -f "$file
else
" filecksums[$cksum]="$file
fidone
این کد فایل های تکراری را از دایرکتوری که در ان هستیم را پیدا می کند ؛هر فایل دارای یک چک کننده (چکمه)است و هر فایل به نوبه ی خود با مجموعه ای از چک کننده های شناخته شده ،از طریق یک آرایه مقایسه میشود و در پایان ،فایلهای تکراری حذف می شود و برای کاربر ،هم در ترمینال وهم در یک فایل جداگانه ،چاپ می کند که فایل های تکراری حذف شد .
آدرس لینک اصلی :
https://unix.stackexchange.com/questions/367749/how-to-find-and-delete-duplicate-files-within-the-same-directory
اسامی نویسندگان:هانیه پرپوسی باشماره دانشجویی 951830218 -فاطمه احمدزاده با شماره دانشجویی 951830202