equal-files: Shell command for finding equal files

[ console, program ] [ Propose Tags ]
Versions 0.0.1, 0.0.2,, 0.0.3, 0.0.4, 0.0.5,,,
Dependencies base (>=3 && <5), bytestring (==0.9.*), explicit‑exception (==0.1.*), filemanip (>=0.3.5 && <0.4), transformers (>=0.2 && <0.4), utility‑ht (>=0.0.1 && <0.1) [details]
License LicenseRef-GPL
Author Henning Thielemann <haskell@henning-thielemann.de>
Maintainer Henning Thielemann <haskell@henning-thielemann.de>
Category Console
Home page http://code.haskell.org/~thielema/equal-files/
Uploaded by HenningThielemann at Tue Apr 10 17:07:55 UTC 2012
Distributions LTSHaskell:, NixOS:, Stackage:, openSUSE:
Executables equal-files
Downloads 3025 total (38 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-25 [all 6 reports]
Hackage Matrix CI

Shell command that finds files with equal content in a given set of files. This is useful for finding duplicates in a set of documents where the same document might have been stored by accident with different names. Use it like

equal-files `find my_dir -type f`


find my_dir -type f | xargs equal-files

If the file names contain spaces, better use

find my_dir -type f -printf "'%p'\n" | xargs equal-files


equal_files -r my_dir

The program reads all input files simultaneously, driven by sorting and grouping of their content. However be prepared that due to the simultaneous access you may exceed the admissible number of opened files. Thus you may prefer to run it like

equal_files -r -p 512 my_dir

The program can be used as a nice example of a declarative yet efficient implementation of a non-trivial algorithm, that is enabled by lazy evaluation.


Maintainer's Corner

For package maintainers and hackage trustees