Certifique-se de ter -print0 no comando de localização.
find . -print0 | xargs -0 cmd ...
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?
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.
Tags cp find escape-characters