# Quick re-run on large datasets using different ranking criteria on second
rmlint $my_dir
rmlint --replay rmlint.json $my_dir -S MaD
# Merge together previous runs, but prefer the originals to be from b.json and
# make sure that no files are deleted from b.json:
rmlint --replay a.json // b.json -k
# Search only for duplicates and duplicate directories
rmlint -T "df,dd" .
# Compare files byte-by-byte in current directory:
rmlint -pp .
# Find duplicates with same basename (excluding extension):
rmlint -e
# Do more complex traversal using find(1).
# find all duplicate .so files
find /usr/lib -iname '*.so' -type f | rmlint -
# as above but handles filenames with newline character in them
find /usr/lib -iname '*.so' -type f -print0 | rmlint -0
# compare png files only
find ~/pics -iname '*.png' | ./rmlint -
# Limit file size range to investigate:
rmlint -s 2GB # Find everything >= 2GB
rmlint -s 0-2GB # Find everything < 2GB
# Only find writable and executable files:
rmlint --perms wx
# Reflink on btrfs, else try to hardlink duplicates to original. If that does
# not work, replace duplicate with a symbolic link:
rmlint -c sh:link
# Inject user-defined command into shell script output:
rmlint -o sh -c sh:cmd='echo "original:" "$2" "is the same as" "$1"'
# Use data as master directory. Find only duplicates in backup that are also in
# data. Do not delete any files in data:
rmlint backup // data --keep-all-tagged --must-match-tagged
# Compare if the directories a b c are equal
rmlint --equal a b c && echo "Files are equal" || echo "Files are not equal"
# Test if two files are reflinks
rmlint --is-reflink a b && echo "Files are reflinks" || echo "Files are not reflinks"