Você pode usar awk
para adicionar números de parágrafo. Digamos que seu arquivo seja chamado de input
, você poderia fazer:
awk 'BEGIN {para=1} !/^\s*$/ {printf "%d %s\n", para, $0; para+=1;next};1' input
isso manterá um contador do número de parágrafos que vimos e toda vez que houver uma linha vazia, ele adicionará o contador atual à frente e incrementará o contador.
Para obter o último parágrafo, você pode usar o awk de forma semelhante, supondo que possa haver linhas em branco no final que você não deseja:
awk '!/^\s*$/ {line=$0} END{print line}' input