找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 71302|回复: 17

[文本处理] [已解决]批处理怎样提取文本特征字符串并创建新文本?

[复制链接]
发表于 2011-9-30 22:57:22 | 显示全部楼层 |阅读模式
有个文本,格式如下。我想提取每一段(从“标题”到邻近的下一个“标题”前面)到一个新的文本。比如,有x段,就创建x个文本。
谢谢您!

标题:A卧槽马
分类:
来源:
赛事类型:
赛事:
轮次:
组别:
台次:
日期:
地点:
时间规则:
红方:
红等级分:
红队:
黑方:
黑等级分:
黑队:
解说:陈松顺
录入:leescott
创建日期:
修改日期:
ECCO:
棋谱类型:实战全局/开局
对局种类:
结果:未知
结束方式:
FEN :2baka3/9/4b2RN/9/9/9/9/7C1/2p1p4/3K1C2r w - - 0 1
      A卧槽马
      车二平五
      !
      象3进5
      马一进三
      将5进1
      炮二进六
      杀!




标题:A钓鱼马
分类:
来源:
赛事类型:
赛事:
轮次:
组别:
台次:
日期:
地点:
时间规则:
红方:
红等级分:
红队:
黑方:
黑等级分:
黑队:
解说:陈松顺
录入:leescott
创建日期:
修改日期:
ECCO:
棋谱类型:实战全局/开局
对局种类:
结果:未知
结束方式:
FEN :3aka3/5R3/4b4/9/6bN1/7R1/9/4KA3/1r1p5/2n6 w - - 0 1

      A钓鱼马
      车四进一
      将5平6
      马二进三
      将6平5
      车二进五
      杀!

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-9-30 23:35:55 | 显示全部楼层
本帖最后由 ArdentMan 于 2011-9-30 23:43 编辑

  1. @Echo Off&SetLocal EnableDelayedExpansion
  2. For /F "delims=" %%a In (a.txt) Do (
  3.   Set "Str=%%a"
  4.   If "!Str:~,3!" EQU "标题:" Set /A Num+=1
  5.   Echo %%a>>Txt_!Num!.txt
  6. )
  7.   
复制代码

评分

参与人数 1技术 +1 收起 理由
lxh623 + 1 太好了!谢谢!

查看全部评分

发表于 2011-9-30 23:46:28 | 显示全部楼层
关注此题,能用 gawk 解决么?
发表于 2011-10-1 13:05:03 | 显示全部楼层
  1. @echo off&SetLocal EnableDelayedExpansion
  2. Set n=0
  3. For /f "delims=" %%i in (b.txt) do (
  4.         Set a=%%i
  5.         If "!a:~,2!"=="标题" Set /a n+=1
  6.         >>象棋!n!.txt echo %%i)
  7. pause
复制代码
发表于 2011-10-1 16:25:02 | 显示全部楼层
回复 3# FOR


    gawk "/标题/{i++;}{print>>i\".txt\"}" test
发表于 2011-10-1 16:52:19 | 显示全部楼层
回复 5# Seder

我测试只生成了一个无前缀名的txt文件,内容和a.txt内容一样。
发表于 2011-10-1 19:01:22 | 显示全部楼层
回复 6# FOR


我这边测试没有问题
版本:3.1.6
发表于 2011-10-1 19:04:26 | 显示全部楼层
回复 6# FOR


    有这样的事?我在ubuntu下运行没问题,后来找了台windows测试也没问题。我用的是这个http://gnuwin32.sourceforge.net/packages/gawk.htm 安装版的gawk
发表于 2011-10-1 19:06:27 | 显示全部楼层
回复 7# awk

我的版本是 3.1.5 的,难道这个版本读取中文有问题?
请问你的 3.1.6 的是在哪里下载的,能给个链接吗?论坛第三方的是 3.1.5 的。
发表于 2011-10-1 19:10:58 | 显示全部楼层
回复 9# FOR


8楼已经给出了
发表于 2011-10-1 19:13:01 | 显示全部楼层
重新下了个,论坛的写的是3.1.5但实际上是3.1.6的,
但还是不行,和原来的一样。。
发表于 2011-10-1 19:23:37 | 显示全部楼层
怎么会这样呢,下载了那个 安装版的,可以安装,但无法使用,重启系统也没用
'gawk' 不是内部或外部命令,也不是可运行的程序
发表于 2011-10-1 19:49:54 | 显示全部楼层
回复 12# FOR


    安装版并不是把工具放到%PATH%位置,而是单独一个目录,你找找那个目录下的bin文件夹,把批处理放那里运行
发表于 2011-10-1 19:57:58 | 显示全部楼层
本帖最后由 FOR 于 2011-10-1 20:01 编辑

现在已完全无法运行了,提示这个
gawk: (FILENAME=a.txt FNR=1) fatal: print to "standard output" failed (No space
left on device)
谁知道是什么原因引起的么?怎么解决?
连 gawk "{print $0}" b.txt  都无法运行了。。555.。。。
发表于 2011-10-1 22:45:45 | 显示全部楼层
继续求救
ghost 恢复系统也不行,重新下载 gawk 也不行,换安装版的也不行。。。
现在运行 gawk 除了能查看版本和帮助,其他的都不行了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 04:32 , Processed in 0.020579 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表