Forma elegante de copiar lista de diretórios para o diretório de destino

3

Histórico: comecei a usar beets para gerenciar minha coleção de músicas. Ele usa a linha de comando como a interface principal. O comando beet ls -ap , por exemplo, emite uma lista de caminhos (pastas) que atendem a um determinado critério (por exemplo, added:2016-01 = adicionado à biblioteca em janeiro de 2016).

Eu construí a seguinte linha de comando bastante complexa para copiar as últimas adições da minha biblioteca para um diretório de destino (pense em pendrive):

beet ls -ap added:2016-01 | xargs -I{} cp -R {} /target/directory/

Minha pergunta: é a -I opção necessária ou estou perdendo uma maneira mais simples de realizar a mesma tarefa? Meu lote foo é lamentavelmente fraco ...

    
por ojdo 11.01.2016 / 15:56

1 resposta

3

Usando -t

beet ls -ap added:2016-01 | xargs cp -R -t /target/directory

De man cp

-t, --target-directory=DIRECTORY
    copy all SOURCE arguments into DIRECTORY
    
por A.B. 11.01.2016 / 18:08