Experimente split --filter
:
split --lines 1000 --filter 'sort ... | sed ... | uniq -c' access.log
Isso dividirá access.log
em trechos de 1.000 linhas e canalizará cada trecho através do filtro especificado.
Se quiser salvar os resultados de cada parte separadamente, você pode usar $FILE
no comando filter e possivelmente especificar um prefixo (o padrão é x
):
split --lines 1000 --filter '... | uniq -c >$FILE' access.log myanalysis-
Isso gerará um arquivo myanalysis-aa
contendo o resultado do processamento do primeiro fragmento, myanalysis-ab
para o segundo fragmento, etc.
A opção --filter
para split
foi introduzida no GNU Coreutils 8.13 (lançado em setembro de 2011).