我有一个巨大的文件(50000 行),如下所示:
输入.txt:
123315334262625363534
265343426272282827262
224343536625242536363
635352627273635373732
363353533637383838327
635342422325337474524
我想将行号添加为文件开头的第一列,同时每个数字重复两次:
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
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'