O GNU grep , que é o que você está usando se estiver executando o Linux, fará pesquisas recursivas sozinho, sem a necessidade de find e xargs . Ele também tem uma opção --exclude-dir para "Excluir diretórios correspondentes ao padrão DIR de pesquisas recursivas". Então você poderia escrever sua pesquisa como
grep -R --exclude-dir=/sys --exclude-dir=/proc --exclude-dir=/tmp --exclude-dir=/lib whatever /
Atualizar comentário a seguir:
Se o grep não der suporte a -R ou --exclude-dir , talvez seja necessário recorrer a find e xargs , que funcionam bem, mas tem uma sintaxe confusa para esta tarefa. Eu raramente acerto da primeira vez.
find / -path /sys -prune -o \( -path /proc -prune -o \( -path /tmp -prune -o \( -path /lib -prune \) \) \) -o -print0 | xargs -0 grep whatever