纯P, 估计累的够呛,这种文本需求,建议还是用其它语言来处理,如PS,python,perl,awk.
我个人现在还是更喜欢awk来处理文本。
简单起见,假定你的源文件,都是这样规则的,用户都已经分组好了,用户条数都是一致的。
test.awk- function ceil(a,b)
- {
- t=int(a/b)
- return a==t*b?t:t+1
- }
- BEGIN {
- usrLines=44
- n=3
- }
- {
- a[int((NR-1)/usrLines)][(NR-1)%usrLines]=$0
- }
- END {
- for(k=0;k<ceil(usrLines,n);k++)
- for(i=0;i<length(a);i++)
- for(j=0+n*k;j<n+n*k && j<usrLines;j++)
- print a[i][j]
- }
复制代码
- awk -f test.awk 3.txt >2.txt
复制代码 几十万条结果还是秒出的。 |