Re: Tool to compare directories and delete duplicate files from one directory
Date: Thu, 04 May 2023 21:47:44 UTC
On 5/4/23 17:29, Paul Procacci wrote:
>
>
> On Thu, May 4, 2023 at 11:53 AM Kaya Saman
> <kayasaman@optiplex-networks.com> wrote:
>
> Hi,
>
>
> I'm wondering if anyone knows of a tool like diff or so that can also
> delete files based on name and size from either left/right or
> source/destination directory?
>
>
> Basically what I have done is performed an rsync without using the
> --remove-source-files option onto a newly bought and created disk
> pool
> (yes zpool) that i am trying to consolidate my data - as it's
> currently
> spread out over multiple pools with the same folder name.
>
>
> The issue I am facing mainly is that I perform another rsync and
> use the
> --remove-source-files option, rsync will delete files based on name
> while there are some files that have the same name but not same
> size and
> I would like to retain these files.
>
>
> Right now I have looked at many different options in both rsync and
> other tools but found nothing suitable. I even tested using a few
> test
> dirs and files that I put into /tmp and whatever I tried, the
> files of
> different size either got transferred or deleted.
>
>
> How would be a good way to approach this problem?
>
>
> Even if I create some kind of shell script and use diff, I think
> it will
> only compare names and not file sizes.
>
>
> I'm really lost here....
>
>
> Regards,
>
>
> Kaya
>
>
>
>
> It sounds like you want fdupes. It's in the ports tree.
>
> ~Paul
>
> --
> __________________
>
> :(){ :|:& };:
I tried fdupes and installed it a while back. For me it felt like it
only works on a single directory.
My dir structure is that I have"
/dir <- main directory where everything has now been rsync'ed to
/dir_1 <- old directory with partial content
/dir_2 <- more partial content
/dir_3 <- more partial content
The key thing here is that I need to compare:
/dir_(x) with /dir
if the files are different sizes in /dir_(x) then leave them, otherwise
delete if both name and file size are the same.