我正在尝试自动执行以下过程:
- 在第 1 行插入一个数字 (0001)
- 对于接下来的 25 行,插入连续的行号 (1-25) 以及两个空格
- 在第 25 行之后,继续从第 1 行开始的下一个序列号 (0002)
- 再次执行步骤 2
- 在此行号 25 之后,按顺序继续 (0003)
- 再次执行步骤 2
- 等。
序列号(0001、0002 等)的行将只包含数字,因此我假设需要添加回车符。
在对行进行编号时,是否可以在数字 1-9 之前包含一个空格,以便它们与 10-25 对齐?
所以像...
0001
1 This is text
2 Some more text
↓
9 Text here
10 Text here
↓
24 Additional text
25 And some more text
0002
1 Text again
2 More text
↓
9 Text here
10 Text here
↓
24 Additional text
25 And some more text
0003
使用 awk
awk 'FNR%25==1{printf "%04dn",++i;s=1}{print s++,$0}' file
有趣的问题,我得到了这一行,它给出了所需的格式化输出:
awk '{s=(NR-1)%25}!s{printf "%04dn", ++k}{printf "%2d %sn",s+1,$0}' file