README.md
author Mikael Berthe <mikael@lilotux.net>
Wed, 23 Feb 2022 22:56:53 +0100
changeset 45 ea6a9ba7a3c8
parent 31 9962a52201ba
permissions -rw-r--r--
Display existing hard links in result sets This is a breaking change in the plain text output, but somehow the list displayed in case of existing hard links was arbitrary, since the all the hardlinked filenames were not displayed. Here's a sample JSON result with this patch: { "file_size": 9216, "paths": [ "test_tree/f09-1_5.raw", "test_tree/f09-4_5.raw" ], "links": { "test_tree/f09-1_5.raw": [ "test_tree/f09-2_5.raw", "test_tree/f09-3_5.raw" ], "test_tree/f09-4_5.raw": [ "test_tree/f09-5_5.raw" ] } } Here the 5 files have the same contents, but there are two hardlink groups: "test_tree/f09-1_5.raw" "test_tree/f09-2_5.raw" "test_tree/f09-3_5.raw" are hard-linked, and "test_tree/f09-4_5.raw" "test_tree/f09-5_5.raw" are hard-linked. Here's the same set displayed With the regular text output: Group #5 (2 files * 9216 bytes): test_tree/f09-1_5.raw test_tree/f09-2_5.raw test_tree/f09-3_5.raw test_tree/f09-4_5.raw test_tree/f09-5_5.raw (The link file names are indented using 1 space character.)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
27
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     1
# goduf
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     2
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     3
Goduf is a fast duplicate file finder.
31
9962a52201ba Update README
Mikael Berthe <mikael@lilotux.net>
parents: 30
diff changeset
     4
It is a command line tool.
27
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     5
31
9962a52201ba Update README
Mikael Berthe <mikael@lilotux.net>
parents: 30
diff changeset
     6
[![License: GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://raw.githubusercontent.com/McKael/goduf/master/LICENSE)
29
687ac60f5f01 Add README badges
Mikael Berthe <mikael@lilotux.net>
parents: 27
diff changeset
     7
[![Build Status](https://travis-ci.org/McKael/goduf.svg?branch=master)](https://travis-ci.org/McKael/goduf)
687ac60f5f01 Add README badges
Mikael Berthe <mikael@lilotux.net>
parents: 27
diff changeset
     8
27
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     9
## Usage
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    10
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    11
The typical usage is very simple:
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    12
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    13
```
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    14
% goduf DIRS...
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    15
```
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    16
30
6d8bbf024448 Add one more example
Mikael Berthe <mikael@lilotux.net>
parents: 29
diff changeset
    17
Examples:
6d8bbf024448 Add one more example
Mikael Berthe <mikael@lilotux.net>
parents: 29
diff changeset
    18
27
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    19
```
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    20
% goduf /usr/bin
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    21
Group #1 (2 files * 76 bytes):
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    22
/usr/bin/vam
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    23
/usr/bin/vim-addons
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    24
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    25
Group #2 (2 files * 292 bytes):
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    26
/usr/bin/pip
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    27
/usr/bin/pip2
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    28
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    29
Group #3 (3 files * 1134 bytes):
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    30
/usr/bin/gajim
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    31
/usr/bin/gajim-history-manager
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    32
/usr/bin/gajim-remote
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    33
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    34
Group #4 (2 files * 1303 bytes):
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    35
/usr/bin/pdftexi2dvi
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    36
/usr/bin/texi2pdf
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    37
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    38
Group #5 (7 files * 4791 bytes):
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    39
/usr/bin/ansible
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    40
/usr/bin/ansible-console
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    41
/usr/bin/ansible-doc
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    42
/usr/bin/ansible-galaxy
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    43
/usr/bin/ansible-playbook
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    44
/usr/bin/ansible-pull
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    45
/usr/bin/ansible-vault
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    46
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    47
(...)
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    48
```
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    49
30
6d8bbf024448 Add one more example
Mikael Berthe <mikael@lilotux.net>
parents: 29
diff changeset
    50
```
6d8bbf024448 Add one more example
Mikael Berthe <mikael@lilotux.net>
parents: 29
diff changeset
    51
% goduf -summary /usr/share/doc
6d8bbf024448 Add one more example
Mikael Berthe <mikael@lilotux.net>
parents: 29
diff changeset
    52
2018/04/07 21:48:23 Final count: 5970 duplicate files in 1920 sets
6d8bbf024448 Add one more example
Mikael Berthe <mikael@lilotux.net>
parents: 29
diff changeset
    53
2018/04/07 21:48:23 Redundant data size: 107594575 bytes (102 MiB)
6d8bbf024448 Add one more example
Mikael Berthe <mikael@lilotux.net>
parents: 29
diff changeset
    54
```
6d8bbf024448 Add one more example
Mikael Berthe <mikael@lilotux.net>
parents: 29
diff changeset
    55
27
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    56
Use `goduf -h` to get the list of available options.
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    57
31
9962a52201ba Update README
Mikael Berthe <mikael@lilotux.net>
parents: 30
diff changeset
    58
*Note for Windows users:* goduf does not normalize paths on Windows, so be careful not to specify the same path twice.
27
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    59
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    60
On Linux, hard links are automatically excluded.
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    61
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    62
## Installation:
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    63
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    64
From the Github mirror:
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    65
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    66
```
31
9962a52201ba Update README
Mikael Berthe <mikael@lilotux.net>
parents: 30
diff changeset
    67
% go get github.com/McKael/goduf
27
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    68
```
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    69
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    70
From my Mercurial repository (upstream):
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    71
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    72
```
31
9962a52201ba Update README
Mikael Berthe <mikael@lilotux.net>
parents: 30
diff changeset
    73
% hg clone https://hg.lilotux.net/golang/mikael/goduf
9962a52201ba Update README
Mikael Berthe <mikael@lilotux.net>
parents: 30
diff changeset
    74
% cd goduf
9962a52201ba Update README
Mikael Berthe <mikael@lilotux.net>
parents: 30
diff changeset
    75
% go build
27
a1b2568b1307 Add README.md and gitignore for the Github mirror
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    76
```
31
9962a52201ba Update README
Mikael Berthe <mikael@lilotux.net>
parents: 30
diff changeset
    77
9962a52201ba Update README
Mikael Berthe <mikael@lilotux.net>
parents: 30
diff changeset
    78
Please note that if you're not using Go v1.11 yet, you should clone the
9962a52201ba Update README
Mikael Berthe <mikael@lilotux.net>
parents: 30
diff changeset
    79
repository in your $GOPATH.