A chave para o desempenho do shell é minimizar o número de chamadas caras do sistema, em particular fork()
e exec()
.
Não use grep
ou sed
dentro de um loop de shell. Nunca use um pipeline com ambos; na maioria dos casos, pode ser reduzido para apenas sed
ou awk
.
Se ficar complicado, use uma linguagem que analise expressões regulares, e faça loops, como awk ou perl .
Por outro lado, se você conseguir com o processamento de texto simples oferecido pelo shell, você pode extrair muito desempenho dele.
Dito isto, o at & ksh93 sempre foi otimizado para velocidade, enquanto o bash e o zsh têm muito mais recursos.