Copia todos os arquivos para outro local [closed]

1

Eu tenho uma pasta chamada "employee" e dentro dessa pasta existem subpastas com cada nome de funcionário.

employee
>> amar
>> akbar
>> anthony

Cada uma dessas pastas contém 1 ou 2 arquivos. Existem cerca de 50 funcionários. Eu quero copiar todos esses arquivos em uma nova pasta "/ home / employee_files" sem as subpastas. Em outras palavras, todos os arquivos devem estar disponíveis quando eu listar "ls / home / employee_files"

    
por shantanuo 26.08.2011 / 05:07

3 respostas

3
$ cp employee/*/* /home/employee_files/
    
por 26.08.2011 / 05:13
0
find /home/attachments/ -type f -exec cp {} /home/attachments_all/ \;

Tenha em atenção que, se dois ficheiros tiverem o mesmo nome, só terminará com um deles.

Uma abordagem alternativa é copiar arquivos para um nome que seja um hash de seus conteúdos.

#!/bin/bash
cp "$1" /home/attachments_all/'sha1sum "$1" | cut -f 1 -d ' ''

Isso fornecerá uma cópia exclusiva de cada arquivo, independentemente do nome. Você pode alterar o script para fornecer um arquivo de índice.

    
por 23.08.2012 / 20:24
-2
find /home/attachments/ -name "*.*" -exec scp {} /home/attachments_all/ \;
    
por 26.08.2011 / 06:22