Não sei por que isso foi migrado do StackOverflow. Embora split
seja uma resposta em estilo superusuário , a questão era sobre programação. Por exemplo, aqui está uma resposta que implementa o que você está procurando em awk
.
Um dos aspectos realmente úteis de awk
é o modo como ele lida com tubos.
#!/usr/bin/awk -f
BEGIN {
cmd="/path/to/handler"
}
{
print | cmd
}
NR % 10 == 0 {
close(cmd)
}
Seu cmd
será reaberto se estiver fechado ... e será fechado a cada 10 linhas, para reabertura da próxima linha de saída.
O efeito será executar handler
a cada 10 linhas de entrada. No final do arquivo, handler
será executado com as linhas restantes, pois cmd
é automaticamente fechado quando o awk sai.
Estritamente falando, você não precisa usar uma variável como cmd
para armazenar o comando ... mas simplifica o ajuste do comando, já que de outra forma você precisaria observar MUITO com cuidado quanto a erros de digitação. seu close()
.