Se o parágrafo é realmente uma linha como o seu exemplo, e você tem que usar apenas cat
, então certamente você quer -b
(número de linhas não vazias)?
cat -b file
parece:
1 Frederick II (German: Friedrich; 24 January 1712 – 17 August 1786) was King of Prussia from 1740 until 1786.[1] His most significant accomplishments during his reign included his military victories, his reorganization of Prussian armies, his patronage of the Arts and the Enlightenment in Prussia, and his final success against great odds in the Seven Years' War.
2 Frederick was the last titled King in Prussia and declared himself King of Prussia after achieving full sovereignty for all historical Prussian lands. Prussia had greatly increased its territories and became a leading military power in Europe under his rule. He became known as Frederick the Great (Friedrich der Große) and was affectionately nicknamed Der Alte Fritz ("Old Fritz") by the Prussian people.
Para salvar isso em um arquivo em vez de imprimir no terminal:
cat -b file > file2
Caso você realmente precise deles, adicione os pontos após os números, mas não, afaik, sem recorrer a outro comando para ajudar cat
, como sed
, que substitui o espaço em branco e os números em linhas que começam com eles (desde cat -b
indent) com o mesmo padrão mais um .
para fazer 1.
2.
etc (isso foi sugerido por @terdon tão incrivelmente rápido que eu não tive tempo para fazê-lo eu mesmo e recebo o crédito)
cat -b file | sed -r 's/^\s+[0-9]+/&./' > file2