
gwarah
(usa Ubuntu)
Enviado em 23/06/2015 - 17:50h
O shell antes de executar, resolve as expressões regulares, então como tem no teu comando *.TTF, antes dele rodar vai substituir isso por cada arquivo TTF, aí de repente podem existir uma quantidade muito grande de arquivos e estar estourando a capacidade de parâmetros que o grep suporta.
Três caminhos para resolver:
1) coloca um critério mais restritivo para diminuir o número de arquivos:
Ex:
grep .... file-2015-01*.TTF
2) cria um script para ler todos os arquivos do diretório e rodar o grep um por um
Vai ter algo mais ou menos assim no teu script:
for arquivo in `ls | grep TTF`
do
echo testando $arquivo
grep ..... $arquivo
done
3) Em algumas distribuições o grep pode ser escrito assim
# expressão entre aspas
grep .... 'file-2015-01*.TTF'
Neste caso o shell não fará a substituição dos parâmetros deixando para ser resolvido internamente pelo comando. Isso vc tem que ter cuidado pq nem todos os comandos suportam e qd suportam podem ter diferentes respostas de uma distribuição para outra.
espero ter te ajudado
---------------------
O perfeito é desumano porque o humano é imperfeito
(Fernando Pessoa)