[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]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
...
部分提取出来。难点在需提取出的部分长度不固定,我尝试写了如下代码,但是得不到期望的文件:
  1. @echo off
  2. (for /f "tokens=2 delims=-" %%a in (b.txt) do (
  3.   for /f "delims=-" %%b in ("%%a") do echo %%b
  4. ))>c.txt
  5. start c.txt
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. @echo off
  2. for /f "tokens=2 delims=- " %%a in (b.txt) do echo %%a
  3. pause
复制代码
1

评分人数

TOP

本帖最后由 ouch1983 于 2013-10-6 21:37 编辑

原问题已解决,再追加一个问题,多谢。
由于生成的如下字符串较多,请问如何可使其按照80个分一段,段与段之间空一行?
US1111111111,EUxxxxxxxxxxx,......,FRxxxxxxx,......

TOP

回复 3# ouch1983


   
本版规则
1、求助时,务必在顶楼一次性把问题交代清楚,建议给出有针对性的样本。

请另开主题贴,把要求描述清楚

TOP

回复 1# ouch1983
  1. sed -r "s/^[^-]+[- ]+([a-zA-Z0-9]+).*/\1/" a.txt > b.txt
复制代码

TOP

返回列表