Linuxでファイルに行名列を追加するには?

Linuxでファイルに行名列を追加するには?

次の巨大なファイル(50000行)があります。

入力.txt:

123315334262625363534
265343426272282827262
224343536625242536363
635352627273635373732
363353533637383838327
635342422325337474524

各番号を2回繰り返しながら、ファイルの先頭の最初の列に行番号を追加したいと思います。

1 123315334262625363534
1 265343426272282827262
2 224343536625242536363
2 635352627273635373732
3 363353533637383838327
3 635342422325337474524

どんな提案がありますか?

答え1

そしてawk

awk '{getline l; printf "%d %s\n%d %s\n", ++i, $0, i, l}' <in >out

答え2

その他アッ

awk '{print ++count, $0}NR%2{count--}' <in >out

sed+NL

sed 'N;s/\n/@/' <in |
nl |
sed 's/\(\(^\s*[0-9]*\s*\).*\)@/\1\n\2/' >out

答え3

perl -pe 'printf "%d ", .5+$./2'

関連情報