Depois de meses de volta deste script (https://www.vivaolinux.com.br/topico/Servidores-Linux-para-iniciantes/Detectar-e-localizar-os-arquivos-duplicados) ainda não consegui arranjar uma saída. Vou tentar explicar através de "imagens".
Pretendo que o user escolha uma linha de todas as repetidas que existem. Por exemplo
Escolha com qual registo pretende ficar e carregue enter:
[0]-1ed311a91b41sdfsdffda03290e2de0d610da7fea7da56153e1194e6076dfc7 /path/fg.pdf
[1]-1ed311a91b41sdfsdffda03290e2de0d610da7fea7da56153e1194e6076dfc7 /path/fg2.pdf
[2]-1ed311a91b41sdfsdffda03290e2de0d610da7fea7da56153e1194e6076dfc7 /path/fg3.pdf
Prentendo ficar com:
O user escolhe a linha [1]. Após digitar enter acontece 2 coisas no ficheiro regist.txt.
A primeira é que a linha [1] é apagada. A segunda é que o valor da hash na linha [0] e [2] é substituido por rm.
O algoritmo avança para o seguinte conjunto de linhas que tem o valor hash repetido.
Escolha com qual registo pretende ficar e carregue enter:
[0]-8a92f086f62b89e4513sddsfdfdsfdsfsdfds36844f850ff26c510a6e54211f3debd3 /path/fgfg.pdf
[1]-8a92f086f62b89e4513sddsfdfdsfdsfsdfds36844f850ff26c510a6e54211f3debd3 /path/fgfg2.pdf
Prentendo ficar com:
O user escolheu a linha [0]
No final, terei que terminar com o conteúdo do ficheiro regist.txt igual a este:
O objectivo é executar cada uma das linhas do ficheiro regist.txt como um comando.
Estou encravado pois não estou a ver como fazer isto. Mais a falta de conhecimento em shellscript resulta em horas e dias a navegar a testar uma série de hipoteses....
Estarei eu a complicar?
Através do comando anterior consigo identificar todos os ficheiros repetidos. Acontece que é gerada uma lista imensa de registos. Pretendo criar uma solução mais simples onde consiga decidir quais dos arquivos é que ficam. Pois comecei a processar o txt e ao fim de uns 150 linhas já tinha passado uns 30 minutos.