- 论坛徽章:
- 0
|
我重新说一下,下面的文件按第三第四第五域分开只是多要求增加 每1000行分开
1001001 name1 1 3 60
1001002 name2 1 3 60
1001003 name3 1 3 60
1001004 name4 1 4 62
1002001 name5 2 3 62
1002002 name6 2 3 64
1002003 name7 2 3 64
1002004 name8 2 4 66
….. ….. … … ..
比如 分成
file1360
1001001 name1
1001002 name2
1001003 name3
file1462
1001004 name4
file2362
1002001 name5
file2364
1002002 name6
1002003 name7
file2466
1002004 name8
我的要求和前面的一个兄弟的按省分类的帖子相似,只是多要求增加 每1000行分开
因为记录有几十万条
我用几个awk可以实现,能不能一条实现
######################################
问题已经解决了
原帖由 springwind426 于 2008-4-1 18:35 发表 ![]()
awk '{
a[$3,$4,$5]++
file=sprintf("%d%d%d_%04d",$3,$4,$5,(a[$3,$4,$5]-1)/1000)
print $1" "$2 > file
}' 数据文件
我的方法
- awk '{b[$3,$4,$5]++
- file=sprintf("tmp/file%d%d%d_%04d",$3,$4,$5,b[$3,$4,$5]-b[$3,$4,$5]%1000+1000)
- a[file]=file
- print $1,$2>file}
- END{for( i in a)
- print a[i]>"tmp/file.log"}' text.txt
复制代码
我自己弄成功了,而且打印了一个文件日志
[ 本帖最后由 liujuejun 于 2008-4-9 10:02 编辑 ] |
|