Board logo

标题: [文本处理] [已解决]批处理如何进行文本文件数据调换? [打印本页]

作者: necnec1    时间: 2015-4-27 20:39     标题: [已解决]批处理如何进行文本文件数据调换?

文本总共用2个@锚定  第二个@后面的41966235  155730   505453这些才是关键数据
我想最后达到的效果是


文本有200多万行 我发现GAWK处理文本速度超级快  不知道哪位朋友帮忙处理一下 谢谢~  数据已经修改 这才是最终的结果
作者: bailong360    时间: 2015-4-27 21:42

本帖最后由 bailong360 于 2015-4-27 21:53 编辑
  1. # 2>nul&@>"New.txt" gawk -f %0 -F "@" Your.txt&exit
  2. {split($3,a," ");if(data[a[1]]==0){data[a[1]]=a[1]"@"$1}else{data[a[1]]=data[a[1]]" "$1}}END{for(i in  data)print data[i]}
复制代码

作者: necnec1    时间: 2015-4-27 21:51

所有的规格  都是第二个@后的数据来排的呀
作者: necnec1    时间: 2015-4-27 21:54

41966235 出现2次
155730出现1次
505453出现1次
507286出现1次
504760出现1次
506517出现1次
前面看错了  确实最后得到的数据应该是6行
作者: bailong360    时间: 2015-4-27 22:00

回复 4# necnec1


    代码已给出,是否符合要求?
作者: necnec1    时间: 2015-4-27 22:06

嗯 非常符合 谢谢
作者: sinsky    时间: 2015-4-30 15:22

牛人很多啊。。。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2