Como copiar uma lista de arquivos de espaços contidos e apóstrofos?

3

Eu tenho uma lista de arquivos gerados usando find que eu quero alimentar (pipe) para cp . Meu problema é que os arquivos têm espaços e apóstrofos, levando cp a reclamar repetidamente que "não pode stat". Existe uma solução elegante para este problema?

    
por Emre 23.09.2012 / 10:03

2 respostas

5

Certifique-se de ter -print0 no comando de localização.

find . -print0 | xargs -0 cmd ...
    
por 23.09.2012 / 11:30
3

Outra opção é ignorar -print0 e o canal e, em vez disso, usar os comandos -exec cp {} path/to/dest/ + ou -exec cp {} path/to/dest \; para localizar. O primeiro substitui {} por um monte de nomes de arquivos encontrados de uma só vez; as segundas cópias encontraram arquivos de uma vez por vez. Esses comandos estão presentes na maioria das implementações de localização.

    
por 23.09.2012 / 13:35