Copiar apenas os arquivos e não os diretórios
Dica publicada em Linux / Comandos
Copiar apenas os arquivos e não os diretórios
Essa dica serve para quem quer copiar os arquivos do diretório corrente e os arquivos dos subdiretórios para outro diretório sem fazer a cópia da estrutura dos subdiretórios.
Eu adaptei desse tópico: Copiar apenas pastas [RESOLVIDO] [Shell Script]
Vamos supor que temos uma estrutura de diretórios assim:
Diretório com os arquivos a serem copiados:
find . -type f -print0 | xargs -0 -L1 -i cp -v {} destino1
O find vai pesquisar todos os arquivos do diretório corrente e o xargs vai transformar a saída do find em argumentos para o cp, que é onde está o par de chaves. O resultado será esse:
Diretório com os arquivos a ser copiado:
Eu adaptei desse tópico: Copiar apenas pastas [RESOLVIDO] [Shell Script]
Vamos supor que temos uma estrutura de diretórios assim:
Diretório com os arquivos a serem copiados:
- diretório1
- subdiretório1
- arquivo1
- subdiretório2
- arquivo2
- arquivo3
- subdiretório3
- arquivo4
Diretório Destino:
- destino1
Agora, vamos rodar esse comando dentro de diretório1:
find . -type f -print0 | xargs -0 -L1 -i cp -v {} destino1
O find vai pesquisar todos os arquivos do diretório corrente e o xargs vai transformar a saída do find em argumentos para o cp, que é onde está o par de chaves. O resultado será esse:
Diretório com os arquivos a ser copiado:
- diretório1
- subdiretório1
- arquivo1
- subdiretório2
- arquivo2
- arquivo3
- subdiretório3
- arquivo4
Diretório Destino:
- destino1
- arquivo1
- arquivo2
- arquivo3
- arquivo4
E assim você faz um trabalho que deveria ser trabalhoso de uma maneira mais fácil.