Problema ao localizar com nomes de arquivos contendo espaços [duplicados]

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.

    
por speld_rwong 10.12.2017 / 02:59

1 resposta

3

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 ...
    
por 10.12.2017 / 03:03