Как заменить дублирующиеся файлы с помощью жёстких ссылок

fdupes -r -1 path | while read line; do j="0"; for file in ${line[*]}; do if [ "$j" == "0" ]; then j="1"; else ln -f ${line// .*/} $file; fi; done; done


Команда fdupes -r -1 path находит все дублирующиеся файлы в указанном пути и его подпапках. Затем она использует цикл while и команду read для обработки каждой строки, которая представляет собой группу дублирующихся файлов.

Внутри цикла используется еще один цикл for, который проходит через каждый файл в группе. Если переменная j равна «0», то это первый файл в группе, и команда ln создает жесткую ссылку на этот файл вместо остальных файлов в группе. Если переменная j не равна «0», то это не первый файл в группе, и команда ln создает жесткую ссылку на первый файл.

Таким образом, команда заменяет дублирующиеся файлы в группе жесткими ссылками на первый файл.

Альтернативой для данной команды может быть использование других утилит, таких как find и ln, для поиска дублирующихся файлов и создания жестких ссылок. Однако, команда fdupes предоставляет более удобный и эффективный способ выполнения этой задачи.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *