Depende.
De um modo geral, não. Você não pode fazer isso.
No entanto, às vezes você pode. Por exemplo, digamos que você tenha um programa que faça algumas operações avançadas em strings e altere cada linha, independentemente. Então, você poderia usar o GNU parallel
- o programa projetado para rodar programas em paralelo.
No entanto, você precisa saber o que seu programa faz e qual é o gargalo. Alguns programas se dividem em subprocessos menores por padrão, então você não obteria nenhum aumento de velocidade. Alguns programas usam muito o disco e, como esse é o gargalo, você não obterá melhorias. Alguns programas têm uma lógica que não pode ser usada nos arquivos divididos.
O GNU Parallel divide o arquivo em partes menores e executa o script em cada parte, mesclando os resultados. Isso funciona bem se você executar algo como awk
, que altera a primeira e a segunda coluna. Isso não funciona tão bem quando você executa um programa que muda dog
para N, onde N é quantas vezes você viu a palavra dog
até agora.