Re: tool to turn redundant files into symlinks
On Monday 21 May 2007 23:51:24 Klaus Ethgen wrote: Hi Weskey, Am Di den 22. Mai 2007 um 0:53 schrieb Wesley J. Landaker: If hardlinks are okay too, see the perforate package (I find this package hard to find, since the name is somewhat misleading). It's written in Perl. Well, thanks, I didn't know about this one. But, it does really *have* to be symlinks. I've found a few other tools that do hardlinks. =) I am the author of perforate. Well I rewritten it from scratch as the original tool had some flaws. It is very easy to add a option for symlinking. But there is a little problem deciding which of the files should be the symlink and which the original. With hardlinks this is not the problem as after hardlinking the files together there is no different between them. In my case, it could be arbitrary and it would be fine. But it might be a good idea to always sort by directory hierarchy (i.e. always either prefer to symlink either up or down a directory tree). Anyway, if there isn't something that already does it, I can probably just parse the output of one of these programs and do the symlink replacement myself. That would be the other way. finddup can print out the double files. One issue I have with both finddup and fdupes, is they both don't quote their output very sanely; or at least, in not in a particularly easy manner for parsing (I can do it with a lookbehind regex). For example: $ finddup . 2 './file with spaces' './file1' './file with (parens)' './file with a newline' './file2' './file with 'ticks'' './file with quotes' $ fdupes -1 . ./file1 ./file\ with\ a newline ./file\ with\ quotes ./file\ with\ 'ticks' ./file\ with\ (parens) ./file\ with\ spaces ./file2 I would LOVE it if it would shell quote the output or something... or if there was a -0 option to delimit things with nulls... or something that could make it work reliably with any filename Anyway, sounds like maybe I should file some wishlist bugs. =) -- Wesley J. Landaker [EMAIL PROTECTED] xmpp:[EMAIL PROTECTED] OpenPGP FP: 4135 2A3B 4726 ACC5 9094 0097 F0A9 8A4C 4CD6 E3D2 signature.asc Description: This is a digitally signed message part.
Re: tool to turn redundant files into symlinks
On Sun, May 20, 2007 at 07:42:56PM -0600, Wesley J. Landaker wrote: For a package problem I'm trying to solve (#414422), it would be nice to have a tool that could find duplicate files (ala fslint[1] or fdupes[2]) and turn them into symlinks. If hardlinks are okay too, see the perforate package (I find this package hard to find, since the name is somewhat misleading). It's written in Perl. $ dlocate /usr/bin/finddup perforate: /usr/bin/finddup $ whatis finddup finddup (1) - Find identical files and do something with them $ finddup --help Usage: finddup [options...] --man the manpage -h, --help a short help --version the version (CVS) of the program -n, --noaction do just nothing, just print out (implies -v) -v, --verbose just what the name says -q, --quietbe quiet -l, --link link the identical files together -o, --oldresultUse the old output of this script -i, --ignore-perms Don't check that file owner and permissions match -d, --dir Define the dir to check (you may specify more than one) BYtE Philipp -- Philipp Matthias Hahn [EMAIL PROTECTED] GPG/PGP: 9A540E39 @ keyrings.debian.org -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: tool to turn redundant files into symlinks
On Monday 21 May 2007 00:16:13 Philipp Matthias Hahn wrote: On Sun, May 20, 2007 at 07:42:56PM -0600, Wesley J. Landaker wrote: For a package problem I'm trying to solve (#414422), it would be nice to have a tool that could find duplicate files (ala fslint[1] or fdupes[2]) and turn them into symlinks. If hardlinks are okay too, see the perforate package (I find this package hard to find, since the name is somewhat misleading). It's written in Perl. Well, thanks, I didn't know about this one. But, it does really *have* to be symlinks. I've found a few other tools that do hardlinks. =) Anyway, if there isn't something that already does it, I can probably just parse the output of one of these programs and do the symlink replacement myself. -- Wesley J. Landaker [EMAIL PROTECTED] xmpp:[EMAIL PROTECTED] OpenPGP FP: 4135 2A3B 4726 ACC5 9094 0097 F0A9 8A4C 4CD6 E3D2 pgpOQAWHtYT3d.pgp Description: PGP signature
Re: tool to turn redundant files into symlinks
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi Weskey, Am Di den 22. Mai 2007 um 0:53 schrieb Wesley J. Landaker: If hardlinks are okay too, see the perforate package (I find this package hard to find, since the name is somewhat misleading). It's written in Perl. Well, thanks, I didn't know about this one. But, it does really *have* to be symlinks. I've found a few other tools that do hardlinks. =) I am the author of perforate. Well I rewritten it from scratch as the original tool had some flaws. It is very easy to add a option for symlinking. But there is a little problem deciding which of the files should be the symlink and which the original. With hardlinks this is not the problem as after hardlinking the files together there is no different between them. Anyway, if there isn't something that already does it, I can probably just parse the output of one of these programs and do the symlink replacement myself. That would be the other way. finddup can print out the double files. Gruß Klaus - -- Klaus Ethgenhttp://www.ethgen.de/ pub 2048R/D1A4EDE5 2000-02-26 Klaus Ethgen [EMAIL PROTECTED] Fingerprint: D7 67 71 C4 99 A6 D4 FE EA 40 30 57 3C 88 26 2B -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) iQEVAwUBRlKE3J+OKpjRpO3lAQJlawf+OGyqWgsq3RzGdaSIxrDwJVgeSi7zIr3M qw7rUHBfdpwncIxj34caKgTtuuTzbGZSWejwfwF0+k3lz3S7OjSCEJEf+AULUmCj 6YQuW/5G27vukx2y164V2oJ74GO9GHFxCELN8c9Rjv7+wx6AbPSGBeFe+FR3AtSz Ibo1bzdtWfOBkz5Grd68BOI3y0kv6du7JwMlBhX70aPVv8VsPfo8pqewViva1xBs S9xXTMwrmiIDJnLP0PrYiG+ihCBJqw4ucOaGmcKfXi9xvTVvnteaJn0FmVknCxX2 KCRHhkOjkE+fFKMHmXDvBoRutnRBH70erw5FSI8NOPSGsRewLMW56Q== =HQQ2 -END PGP SIGNATURE- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
tool to turn redundant files into symlinks
Hi folks, For a package problem I'm trying to solve (#414422), it would be nice to have a tool that could find duplicate files (ala fslint[1] or fdupes[2]) and turn them into symlinks. I could create something that does this just for this package, but does anyone know of such a pre-existing tool in Debian? [1] AFAICT fslint can do hardlinks, but not symlinks. [2] fdupes lists duplicate files, but does not take any action. -- Wesley J. Landaker [EMAIL PROTECTED] xmpp:[EMAIL PROTECTED] OpenPGP FP: 4135 2A3B 4726 ACC5 9094 0097 F0A9 8A4C 4CD6 E3D2 pgpQKVP9iqSJv.pgp Description: PGP signature