Я пытаюсь собрать старые резервные копии Time Machine с разных компьютеров, которые у меня были за эти годы, и хочу сохранить только последнюю уникальную версию каждого файла. Мне удалось сделать это с помощью ls -d 20* | while read dir; do find "$dir" -type f -links +1 -exec rm "{}" \; done
, и это сработало как по маслу (хотя и заняло некоторое время).
Проблема в том, что существует много связанных каталогов, поэтому у меня все еще есть куча дубликатов из-за них, и я не могу нигде найти информацию о том, как отвязать каталоги. Например:
iMac:ETH Mac root# stat -f "%i %N" */"HDD/Users/etolnay/.macports/opt/local/var/macports/sources/rsync.macports.org/release/ports/net/ctorrent"
21569569 2012-02-20-143022/HDD/Users/etolnay/.macports/opt/local/var/macports/sources/rsync.macports.org/release/ports/net/ctorrent
21569569 2012-03-02-054540/HDD/Users/etolnay/.macports/opt/local/var/macports/sources/rsync.macports.org/release/ports/net/ctorrent
23843405 2012-04-06-061205/HDD/Users/etolnay/.macports/opt/local/var/macports/sources/rsync.macports.org/release/ports/net/ctorrent
23843405 2012-04-13-134054/HDD/Users/etolnay/.macports/opt/local/var/macports/sources/rsync.macports.org/release/ports/net/ctorrent
Есть две версии папки выше, сохраненные для двух дат в каждом случае. Я хочу удалить 2012-02-20-143022
и 2012-04-06-061205
оставить остальные. Я мог бы сделать это только путем отсоединения этих каталогов, но unlink
это не работает для каталогов, и ни один gunlink
из GNU CoreUtils в Homebrew не работает, как предложеноhttps://superuser.com/a/557425/490956.
Как мне разорвать связь между этими двумя каталогами и оставить только их последнюю запись?