Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Сделать жесткую ссылку на множество одинаковых файлов  (Прочитано 712 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн muta

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
К примеру я нахожу одинаковые файлы по команде find . -type f -exec sha1sum '{}' ';' | grep определенная хеш-сумма
И на эти найденные файлы нужно сделать чтобы они ссылались на один файл с той же хеш-суммой.

Оффлайн Self-Perfection

  • Активист
  • *
  • Сообщений: 331
  • Arch linux, KDE
    • Просмотр профиля
Ну, во-первых, стоит перейти на нормальный механизм поиска дубликатов вроде fdupes.
Ваш метод читает все файлы целиком, а обычно бОльшую часть файлов можно исключить из сравнения просто по размеру, да ещё и не застрахован от коллизий.

Для хардлинкования одинаковых файлов из вывода fdupes я некогда написал скрипт
Код: (bash) [Выделить]
#!/bin/bash

MAINFILE=''
declare -i n=0
while read FILE; do
    if [ -z "$FILE" ]; then
        MAINFILE=''
    else
        if [ -z "$MAINFILE" ]; then
            MAINFILE="$FILE"
            n+=1
            echo "$n $MAINFILE"
        else
            ln -f "$MAINFILE" "$FILE"
        fi
    fi
done

Не применять бездумно, это чревато! Поэкспериментируйте с fdupes, осознайте, что происходит в скрипте, после этого, я уверен, вы сможете решить свою задачу  ;)
Читайте документацию, наставницу вашу!
Памятка по описанию проблем:
Для решения [такой-то задачи] делаю [такие-то действия], но вместо [ожидаемый результат] получаю [описание отличий].

Оффлайн muta

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Спасибо! Надеюсь поможет, сначала конечно поэкспериментирую.

 

Страница сгенерирована за 0.016 секунд. Запросов: 23.