Dica - Como utilizar o find e o grep em pastas com espaços.

Estive tentando achar um arquivo dentro do servidor SAMBA, que tem extensão .doc e em seu conteúdo uma determinada palavra.
Pesquisei na web e achei o seguinte comando, utilizando o grep e o find:

# find /home/user/pastax/pastay/docs\ anterirores\ a\ 2009/* -name "*.doc" | xargs grep -i 'determinada palavra'

Mas acontece que em uma subpasta foi utilizado espaços em seu nome, o que retornava o seguinte erro

# grep: Contas/677674.doc: No such file or directory

Ou seja, o xargs estava passando para o grep, arquivos e pastas com espaços, de forma fragmentada, e para resolver o problema, pesquisei e o comando inicial ficou assim:

 # find /home/user/pastax/pastay/docs\ anterirores\ a\ 2009/* -name "*.doc" | xargs -d '\n' grep -i 'determinada palavra' 

Pronto, pesquisa feita.

Comentários

Postagens mais visitadas deste blog

SCP com porta diferente

PfSense, Intel NIC e Velocidades de carregamento lento

Formulários do Incra para download