diff options
author | Lars Wirzenius <liw@liw.fi> | 2010-12-22 09:04:38 +0000 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2010-12-22 09:04:38 +0000 |
commit | 9a0b263b7fc9d43e6acd16729ebfc2120ae501d6 (patch) | |
tree | 867662e876c2c77ca123cc708527819bce6ce634 /dupfiles | |
parent | e6657c0fe65e4c99e948fa9b38a94499ff2a1af8 (diff) | |
download | dupfiles-9a0b263b7fc9d43e6acd16729ebfc2120ae501d6.tar.gz |
Add --remove option.
Diffstat (limited to 'dupfiles')
-rwxr-xr-x | dupfiles | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -197,6 +197,12 @@ def make_hardlinks(duplicates): os.link(canonical, pathname) +def remove_all_but_one(duplicates): + keep = duplicates.pop() + for pathname in duplicates: + os.remove(pathname) + + def report(duplicates): sys.stdout.write('\n'.join(duplicates)) sys.stdout.write('\n\n') @@ -208,6 +214,8 @@ def main(): help='hardlink duplicate files to each other') parser.add_option('--progress', action='store_true', help='report progress') + parser.add_option('--remove', action='store_true', + help='remove all but one copy of identical files') opts, args = parser.parse_args() @@ -218,6 +226,8 @@ def main(): for duplicates in dupfinder.duplicates(): if opts.make_hardlinks: make_hardlinks(duplicates) + elif opts.remove: + remove_all_but_one(duplicates) else: report(duplicates) |