Copie todos os arquivos cujos hashes não correspondam

3

Atualmente tenho uma lista de hash (bem conhecida) de uma seleção de vários arquivos. Eu quero copiar todos os arquivos quando seus hashes não aparecem na lista de hash para um diretório separado.

Eu tenho a seção md5deep do comando funcionando (detectando todos os arquivos que não aparecem na lista). Eu estou trabalhando na seção de cópia do comando.

Olhando para o homem cp, a opção -t " copy all SOURCE arguments into DIRECTORY" , assim, o ~/Desktop/Unknowjpg/ é o diretório de destino e ~/Desktop/physical/output/jpg/ é a fonte.

Executando o comando abaixo recebo a mensagem de erro "cp: omitting directory '/home/daniel/Desktop/physical/output/jpg/'"

 md5deep -x Hashes.txt jpg/*.jpg | cp -t ~/Desktop/Unknownjpg/ ~/Desktop/physical/output/jpg/
    
por Dan1676 31.12.2013 / 17:35

1 resposta

3

Tente usar xargs, por exemplo,

md5deep -x Hashes.txt jpg/*.jpg | xargs cp -t ~/Desktop/physical/output/jpg/

Você não precisa fornecer um argumento SOURCE para o comando cp porque o canal de md5deep é a 'origem' dos arquivos a serem copiados.

    
por steeldriver 31.12.2013 / 18:07