Como encontrar e comparar arquivos semelhantes na pasta Dropbox?

2

Estou usando o Dropbox e acabo com vários arquivos, como:
prefs (cópia conflituosa da casa 2009-07-20) .js

O que eu gostaria de fazer é encontrar todos os arquivos de "cópia com conflito ..." e comparar cada um com sua versão sem conflito.

Por exemplo, o comando a seguir me fornece o resultado:

$ find . -name "*onflict*" -exec ls -ld {} \;
-rw-r--r-- 1 eric eric 24203 2009-07-19 14:42 ./prefs (home's conflicted copy 2009-07-20).js

mas gostaria de uma saída como:

-rw-r--r-- 1 eric eric 24429 2009-07-21 11:43 prefs.js
-rw-r--r-- 1 eric eric 24203 2009-07-19 14:42 prefs (home's conflicted copy 2009-07-20).js

e depois posso decidir o que quero fazer com a cópia em conflito. Alguma idéia?

    
por pcapademic 21.07.2009 / 22:00

2 respostas

2

Eu descobri algo que parece funcionar, mas gostaria de receber sugestões para melhorá-lo, incluindo torná-lo mais limpo:

find . -name "*onflict*" | while read name; do ls -ld "$name"; ls -ld "${name/ (*onflict*)/}"; echo -n "$name" | xargs -0 -p rm ; echo ; done

Em um formato mais fácil de ler e digitar:

find . -name "*onflict*" | \
while read name; do 
    ls -ld "$name"
    ls -ld "${name/ (*onflict*)/}"
    echo -n "$name" | xargs -0 -p rm 
    echo 
done

Referências:

  • Usando o shell para "mill" sobre os resultados do comando inicial find - um pipemill
    link

  • Manipulando strings no shell link
    link

  • Usando xargs no link
    link

por 22.07.2009 / 04:17
0

Depois de corresponder ao nome do arquivo conflitante, use uma expressão regular para substituir o parêntese e o espaço por uma estrela e faça, por exemplo:

ls -d "prefs*.js"
    
por 21.07.2009 / 22:28