标题: [文本处理] [已解决]BAT如何提取一行中特殊的字符串? [打印本页]
作者: ouch1983 时间: 2013-10-6 16:07 标题: [已解决]BAT如何提取一行中特殊的字符串?
本帖最后由 ouch1983 于 2013-10-8 20:42 编辑
请教如何将如下数据文件a.txt
......
CN - ---US1111111111--- A1 20130822 DW201358
CN - ---EUxxxxxxxxxxx--- A1 20130725 DW201352
CN - EP2222222222 A1 20130725 DW201352
CN - DE8888888 B1 20130723 DW201350
CN - ---FRxxxxxxx--- B1 20130716 DW201348
.......
中的:
US1111111111
EUxxxxxxxxxxx
...
FRxxxxxxx
...
部分提取出来。难点在需提取出的部分长度不固定,我尝试写了如下代码,但是得不到期望的文件:- @echo off
- (for /f "tokens=2 delims=-" %%a in (b.txt) do (
- for /f "delims=-" %%b in ("%%a") do echo %%b
- ))>c.txt
- start c.txt
复制代码
作者: apang 时间: 2013-10-6 16:47
- @echo off
- for /f "tokens=2 delims=- " %%a in (b.txt) do echo %%a
- pause
复制代码
作者: ouch1983 时间: 2013-10-6 17:25
本帖最后由 ouch1983 于 2013-10-6 21:37 编辑
原问题已解决,再追加一个问题,多谢。
由于生成的如下字符串较多,请问如何可使其按照80个分一段,段与段之间空一行?
US1111111111,EUxxxxxxxxxxx,......,FRxxxxxxx,......
作者: apang 时间: 2013-10-6 23:24
回复 3# ouch1983
本版规则
1、求助时,务必在顶楼一次性把问题交代清楚,建议给出有针对性的样本。
请另开主题贴,把要求描述清楚
作者: DAIC 时间: 2013-10-8 21:37
回复 1# ouch1983 - sed -r "s/^[^-]+[- ]+([a-zA-Z0-9]+).*/\1/" a.txt > b.txt
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |