文件中每行的内容如下:
161737%|1|开户|5|30|%|2|补卡|1|30|%|3|产品变更|2|30|%|4|改密|0|30|%|5|改资料|0|30|%|0|其他业务|5|30|
要把每行分别整理成如下6行放入另一个文件中:
2012-12-19 8:00|2012-12-19 8:30|161737|1|开户|5|30|
2012-12-19 8:00|2012-12-19 8:30|161737|2|补卡|1|30|
2012-12-19 8:00|2012-12-19 8:30|161737|3|产品变更|2|30|
2012-12-19 8:00|2012-12-19 8:30|161737|4|改密|0|30|
2012-12-19 8:00|2012-12-19 8:30|161737|5|改资料|0|30|
2012-12-19 8:00|2012-12-19 8:30|161737|0|其他业务|5|30|
尽量高效一些,因为这个文件的数量会达到好几千条,而且每半小时,文件都会有新的数据覆盖进来。
其实很简单,通过shell,然后搭配简单的awk就可以实现。
awk -F"%" '{print $1$2"\n"$1$3"\n"$1$4"\n"$1$5"\n"$1$6"\n"$1$7}' 1
你可以通过shell写一个按行读取文件,然后进行处理。
如果在复杂点awk,应该可以一行实现,不过今天刚出差回来,有点累了,实在懒得想了。
告诉你思路了,虽然可能效率会稍微比awk直接用低点不过完成工作应该没问题。