Board logo

标题: [文本处理] [已解决]批处理怎么样把文本的行改成列呢? [打印本页]

作者: siwmm    时间: 2009-6-14 13:24     标题: [已解决]批处理怎么样把文本的行改成列呢?

现在有文本1,想把它的行改成列,文本1数据形式假如是这样:  
第一行:01a:<tab>6
第二行:01a:<tab>5
第三行:34a:<tab>654
第四行:03a:<tab>258
第五行:02a:<tab>7
第六行:05a:<tab>4
……
行数不定,
上面的第一行:01a  对应6,第二行:01a 对应5,改成列时要把他们对应数值加起来:如  01a  就对应6+5=11
我想得到文本2:
01a    <tab>   02a <tab>     03a  <tab>    05a   <tab> 34a   ……(从小到大)
  11    <tab>   7     <tab>     258  <tab>     4   <tab>    654   ……

[ 本帖最后由 siwmm 于 2009-6-14 16:32 编辑 ]
作者: tab    时间: 2009-6-14 15:43

  1. @echo off
  2. for /f "tokens=1,2" %%i in (1.txt) do set/a .%%i+=%%j
  3. setlocal enabledelayedexpansion
  4. for /f "tokens=1,2 delims=.:=" %%a in ('set .^|sort/r') do set var=%%a !var!&set str=%%b !str!
  5. echo !var!&echo !str!
  6. )
  7. pause
复制代码

作者: siwmm    时间: 2009-6-14 16:31

谢谢~
我成功得到文本2
学习了,根据你的代码,做到了由文本2得到文本1的代码了~

[ 本帖最后由 siwmm 于 2009-6-14 16:32 编辑 ]




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