나는 수년간 사용했던 여러 컴퓨터에서 오래된 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
다음에서 제안한 대로 Homebrew의 GNU CoreUtils에서도 작동하지 않습니다.https://superuser.com/a/557425/490956.
두 디렉토리의 연결을 해제하고 최신 항목만 남겨 두려면 어떻게 해야 합니까?