shell文件中一行切多行,如何高效实现,请高人指点,非常感谢!

文件中每行的内容如下:
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直接用低点不过完成工作应该没问题。


温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网