Board logo

标题: [文本处理] [已解决]批处理如何将文本从行尾截取到行首? [打印本页]

作者: necnec1    时间: 2015-4-24 19:30     标题: [已解决]批处理如何将文本从行尾截取到行首?

本帖最后由 necnec1 于 2015-4-26 09:40 编辑

CTE_123 4 14 13 10 EBA 44 149 294 45 64 32 32 CCBA

怎样才能将行尾最后一个空格之后的CCBA 移动到行首  结果变成

CCBA@CTE_123 4 14 13 10 EBA 44 149 294 45 64 32 32

文本文件有200多万行 求最快速的处理方法
作者: bailong360    时间: 2015-4-25 09:30

本帖最后由 bailong360 于 2015-4-25 17:56 编辑
  1. #&@>"New.txt" gawk -f %0 Your.txt&exit
  2. {if($0!~/@.*@/){printf $NF"@";for(i = 1;i < NF;i++) printf $i" ";printf "\n"} else {print $0}}
复制代码
请下载gawk与批处理放在同一目录下执行
http://batch-cn.qiniudn.com/tool/gawk.exe
作者: necnec1    时间: 2015-4-25 14:28

本帖最后由 necnec1 于 2015-4-26 09:39 编辑

回复 2# bailong360

早上写的时候有失误  实际情况是这样
CCBA@CTE_123 4 14 13 10 EBA 44 149 294 45 64 32 32        早上是 一个@的情况下 将行尾的字符  移动到行首

但是在实际当中
CCBA@CTE_123 4 14 13 10 EBA 44 149 294 45 64 32 32


第一行出现1个@  第二行出现2个@的情况   假如出现2个@就不做替换   出现1个@就将最后的EDCC 移动到行首又改怎么做呢
作者: bailong360    时间: 2015-4-25 17:57

回复 3# necnec1


    已修改




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