گروه کاربران لینوکس دانشگاه شهید مدنی آذربایجان

لاگ دانشگاه آذربایجان :: Azarbaijan University Linux User Group

گروه کاربران لینوکس دانشگاه شهید مدنی آذربایجان

لاگ دانشگاه آذربایجان :: Azarbaijan University Linux User Group

پیداکردن فایل های تکراری در دایرکتوری وحذف کردن آن درترمینال وچاپ دریک فایل باshell programing

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