Этот скрипт использует ассоциативный массив в bash для сохранения контрольных сумм, а затем сообщает о дубликатах; измените эхо
на rm
, если оно выглядит хорошо (или rm -i
для большей паранойи):
#!/usr/bin/env bash
declare -A sums
for f in *
do
if [[ ! -f "$f" ]]; then continue; fi
c=$(cksum "$f" | awk '{print $1}')
[[ -n "${sums[$c]}" ]] && echo "# rm \"$f\" -- duplicate of ${sums[$c]}"
sums[$c]="$f"
done
Каталоги должны иметь исполняемый бит, чтобы быть "поисковыми". Это включает в себя перечисление содержимого, а также ввод его с помощью cd
. Попробуйте, например, chmod +x
в каталоге Сценарии. Это отличается от обычных файлов, где исполняемый бит позволяет их выполнять (конечно).
Дополнительная информация здесь: Выполнить vs Прочитать бит. Как работают разрешения каталогов в Linux? и В Linux разрешение «запись» эквивалентно «выполнению» для каталогов?