Comando Bash que usa curinga no lugar da pasta para copiar o conteúdo da pasta de vários arquivos em um diretório?

1

Eu tenho um diretório ~/dir que contém várias pastas aleatórias, como: ~/dir/av 801 e ~/dir/lm 320 . Eu quero copiar o conteúdo de cada pasta interna (ou seja: av 801) em um diretório diferente. O conteúdo dessa pasta pode consistir em pastas ou arquivos.

Isto é o que eu imaginei que o comando bash seria:

cp ~/dir/*/* ~/target/

Mas isso gera esse erro:

cp: when copying multiple files, last argument must be a directory

Existe um comando bash que pode fazer uma coisa dessas?

    
por Korey Hinton 01.07.2013 / 23:17

1 resposta

1

Para copiar diretórios, você precisa dizer a cp para copiar recursivamente passando o -r flag.

cp -R ~/dir/*/* ~/target/

Se ~/target não existir, você precisará criá-lo primeiro.

mkdir ~/target
    
por 01.07.2013 / 23:46