Faça o find use um NUL como o separador entre nomes de arquivos e diga ao xargs para procurar o mesmo:
find .... -print0 | xargs -0 ...
Estou tentando executar um grupo de arquivos usando o comando find.
Eu determinei que nomes de arquivos contendo espaços estão me dando um problema.
O comando a seguir funciona para arquivos que não contêm espaços, mas falha quando o nome do arquivo contém um espaço.
find /media/primary/acronis_ntfs/flickr_01/. -type f -name '*.*' | xargs cat > /media/primary/acronis_ntfs/flickr_01.txt
Eu também experimentei comandos diferentes - todos com os mesmos resultados.
find /media/primary/acronis_ntfs/flickr_01/. -type f | xargs cat > /media/primary/acronis_ntfs/flickr_01.txt
Se eu for diretamente para a pasta e executar
cat * > flickr_01.txt
Funciona - espaços e tudo mais.
Estou executando o ubuntu 16.10.
Alguma sugestão?
Estou perdendo meu cabelo por algo que achei simples.
Faça o find use um NUL como o separador entre nomes de arquivos e diga ao xargs para procurar o mesmo:
find .... -print0 | xargs -0 ...
Tags find text-processing text