当前位置: 技术问答>linux和unix
100分征求你的建议
来源: 互联网 发布时间:2015-12-21
本文导语: 第一个问题(UNIX环境下) 有一个文件(文件的行数约有1亿条),文件的内容格式如下: 地区|类别|性别|姓名| 要求将这个文件的内容以“地区”与“性别”拆分为多个文件 拆分后的文件命名为“地区_性别.unl” 请...
第一个问题(UNIX环境下)
有一个文件(文件的行数约有1亿条),文件的内容格式如下:
地区|类别|性别|姓名|
要求将这个文件的内容以“地区”与“性别”拆分为多个文件
拆分后的文件命名为“地区_性别.unl”
请问应该采取什么样的方案,更有利于文件的拆分?特别是在文件打开关闭的过程中
会浪费很多的时间,哈哈(文件打开的数量是有限的,听说最多可以打开8个左右)
如果你有好的建议,不胜感激。
有一个文件(文件的行数约有1亿条),文件的内容格式如下:
地区|类别|性别|姓名|
要求将这个文件的内容以“地区”与“性别”拆分为多个文件
拆分后的文件命名为“地区_性别.unl”
请问应该采取什么样的方案,更有利于文件的拆分?特别是在文件打开关闭的过程中
会浪费很多的时间,哈哈(文件打开的数量是有限的,听说最多可以打开8个左右)
如果你有好的建议,不胜感激。
|
理论上用awk就可以完成这个任务了,而且只是一次扫描问题,因为后面的操作只是一个重复的工作,和对特定文件的添加操作了。
|
满足了要求没有,回个话啊
倒不是要分,但如果大家都问问题后没有个反馈,是很打击答问题人的积极性的,而且不利于交流,因为不知道处理的方法是否是可以验证的啊!!!!
倒不是要分,但如果大家都问问题后没有个反馈,是很打击答问题人的积极性的,而且不利于交流,因为不知道处理的方法是否是可以验证的啊!!!!
|
呵呵,经常有人忘记结贴的。
|
如果文件打开数量有限,内存也有限,那就读一行,打开文件,写一行,然后把文件关掉……
但是很慢。
但是很慢。
|
awk -F"|" '{ print $0 >> $1"_"$3".url"}' filename
#-----上面一句话就可以完成你的任务了
#-----上面一句话就可以完成你的任务了
|
支持楼上的,lz要厚道