Você pode usar o awk para fazer isso:
awk 'NR >= n { printf("%6d ", NR-n+1) } 1' n=3
Para as linhas em que o número do registro atual (NR) é maior ou igual a n (passado como uma variável), imprima um prefixo de linha, começando em 1. O 1
no final é awk curto-mão para imprimindo a linha atual.
Você também pode usar head(1)
, pois ele pára de consumir a entrada quando lê o número de linhas necessárias:
{ head -$((N-1)); cat -n; }
Você pode canalizar para isso ou redirecionar um arquivo:
cat foo | { head -$((N-1)); cat -n; }
{ head -$((N-1)); cat -n; } < foo