Exclui a pasta das exclusões ao encontrar duplicatas com “fdupes”

1

Como muitos usuários com vários dispositivos e diretórios sincronizados, tenho um fluxo bastante constante de arquivos de mídia duplicados. Periodicamente, gosto de remover duplicatas, muitas vezes quando tenho um novo "paradigma de sincronização" para o qual estou me mudando. (Última vez que foi Nextcloud. Desta vez é Syncthing.) Eu quero pesquisar em caminhos que eu especificar como argumentos para fdupes, mas evitar qualquer tentativa de excluir arquivos de exatamente um dos caminhos de busca. Como eu faço isso? Eu também estou aberto a alternativas para fdupes.

Ref: link

    
por Jesse Adelman 31.07.2017 / 23:23

1 resposta

2

Cuidado:

When using -d or --delete, care should be taken to insure against accidental data loss.

When used together with options -s or --symlink, a user could accidentally preserve a symlink while deleting the file it points to.

When specifying a directory more than once, all files will be listed as their own duplicates, leading to data loss

Preservar um diretório favorito é mais fácil da versão 1.6.0 de fdupes , que adicionou a opção -o ou --order para permitir que você classifique a saída por nome de caminho. (Por padrão, a classificação é por tempo de modificação do arquivo em todas as versões).

Se você usar nomes de diretórios absolutos, poderá garantir que seu diretório favorito seja sempre o primeiro na saída, prefixando um / extra no início, para que ele seja classificado primeiro. Por exemplo, os diretórios /a/a e //b/b serão classificados de forma que //b seja a primeira saída. (Isso pressupõe que você não use nomes de diretório como /---mydir--/ , que classificarão antes de // ).

Você pode usar a opção -f ou --omitfirst para suprimir o primeiro arquivo em um conjunto de correspondências listado ou com ( ler o manual primeiro: isso exclui arquivos ) --delete --noprompt , este primeiro arquivo não será o deletado.

Então, em princípio, a linha de comando é

fdupes -r -f -o name //myfavourite/directory/path /dir2 /dir3 ...  >listtodel

Isso apenas produz uma lista de nomes de arquivos para excluir, por exemplo, passando a lista por xargs . Para fazer as exclusões reais, adicione de forma não interativa as opções dadas acima.

Note que você ainda pode encontrar arquivos do seu diretório favorito na saída, se houver dups inteiramente dentro desse diretório.

Você pode encomendar seus diretórios em uma ordem de preservação favorita da mesma maneira, por exemplo, ////dir1 ///dir2 //dir3 /dir4 .

    
por 01.08.2017 / 12:19