标题: [文本处理] [已解决]BAT怎样定点提取文本内容? [打印本页]
作者: nasaer 时间: 2013-8-4 17:51 标题: [已解决]BAT怎样定点提取文本内容?
背景:在不同软件中进行数据传递,需要单独提取所需要的信息并进行简单加工。
想将代码1中的部分内容提取出来转化为代码2的形式,大侠们帮忙看看怎么弄~谢谢
代码1(处理前):- !! ANSYS Input Deck Generated by HyperMesh Version : 11.0.0.47
- !! Generated using HyperMesh-Ansys Template Version : 11.0.0.47
- /PREP7
- ...
- ...
- ...
- NBLOCK,6,SOLID
- (3i8,6e16.9)
- 18 0 0 0.4615384615385 1.2 3.0
- 17 0 0 0.5538461538462 1.2 3.0
- 16 0 0 0.6461538461538 1.2 3.0
- 15 0 0 0.7384615384615 1.2 3.0
- 14 0 0 0.8307692307692 1.2 3.0
- 13 0 0 0.9230769230769 1.2 3.0
- 12 0 0 1.0153846153846 1.2 3.0
- 11 0 0 1.1076923076923 1.2 3.0
复制代码
代码2(处理后):- 18 , 0.4615384615385, 1.2, 3.0
- 17 , 0.5538461538462, 1.2, 3.0
- 16 , 0.6461538461538, 1.2, 3.0
- 15 , 0.7384615384615, 1.2, 3.0
- 14 , 0.8307692307692, 1.2, 3.0
- 13 , 0.9230769230769, 1.2, 3.0
- 12 , 1.0153846153846, 1.2, 3.0
- 11 , 1.1076923076923, 1.2, 3.0
复制代码
处理规则:
①代码1中的(3i8,6e16.9)为标志,表示遇到该行时,就开始提取文本内容。
②只提取代码1中第1,4,5,6列的内容,列与列之间加入逗号分隔符
作者: CrLf 时间: 2013-8-4 18:11
不要把包袱抖一半啊,你的处理逻辑是什么?N 从哪里来?0 到哪里去?顶上那几行是忽略掉吗?
有效求助需要给出三个关键内容:处理前、处理规则、处理后,这样别人才能明白你的意思,否则到时候改来改去,别人的时间被浪费在重复劳动上,你也没法及时得到有效答复。
作者: nasaer 时间: 2013-8-4 18:27
回复 2# CrLf
非常感谢您的意见,已经对帖子重新编辑!顶上几行忽略掉,0舍去,N先暂不考虑~谢谢!
作者: CrLf 时间: 2013-8-4 18:47
- @echo off
- (for /f "tokens=1,4-6" %%a in (1.txt) do (
- if defined begin echo %%a,%%b,%%c,%%d
- if "%%a"=="(3i8,6e16.9)" set begin=true
- ))>2.txt
复制代码
作者: nasaer 时间: 2013-8-4 19:00
回复 4# CrLf
非常感谢!谢谢!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |