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).