Você parece ter percorrido as casas sem conseguir a combinação certa:
find Music -exec cp -v {} /dev/null \;
Você precisa de pelo menos dois parâmetros para cp
, a (s) origem (s) e um destino, que pode ser um arquivo ou diretório. Quando você escapar de >
, estará removendo suas propriedades de redirecionamento, portanto, >/dev/null
se tornará um destino, procurando um subdiretório no diretório atual.
Note que você não pode especificar redirecionamentos individuais com a opção -exec
: os parâmetros são passados diretamente para o programa agendado sem interpretação adicional da shell.
Para mim, geralmente prefiro essa construção para -exec
:
find Music | while read -r l; do cp -v "$l" /dev/null; done
Eu posso usar todos os comandos shell normais na cláusula while
, incluindo vários comandos, redirecionamentos, etc.
Observe que determinados caracteres em nomes de arquivos (por exemplo, novas linhas incorporadas ou espaços em branco à esquerda e à direita) impedirão que essa solução funcione, enquanto a resposta -exec
original deve funcionar para todos os nomes de arquivos. Eu não tenho nenhum nome de arquivo, daí minha preferência.