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

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

有个文本,格式如下。我想提取每一段(从“标题”到邻近的下一个“标题”前面)到一个新的文本。比如,有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
      车二进五
      杀!
1

评分人数

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

本帖最后由 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

评分人数

    • lxh623: 太好了!谢谢!技术 + 1
一路飘过的鸟~~~

TOP

关注此题,能用 gawk 解决么?

TOP

  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
复制代码

TOP

回复 3# FOR


    gawk "/标题/{i++;}{print>>i\".txt\"}" test

TOP

回复 5# Seder

我测试只生成了一个无前缀名的txt文件,内容和a.txt内容一样。

TOP

回复 6# FOR


我这边测试没有问题
版本:3.1.6

TOP

回复 6# FOR


    有这样的事?我在ubuntu下运行没问题,后来找了台windows测试也没问题。我用的是这个http://gnuwin32.sourceforge.net/packages/gawk.htm 安装版的gawk

TOP

回复 7# awk

我的版本是 3.1.5 的,难道这个版本读取中文有问题?
请问你的 3.1.6 的是在哪里下载的,能给个链接吗?论坛第三方的是 3.1.5 的。

TOP

回复 9# FOR


8楼已经给出了

TOP

重新下了个,论坛的写的是3.1.5但实际上是3.1.6的,
但还是不行,和原来的一样。。

TOP

怎么会这样呢,下载了那个 安装版的,可以安装,但无法使用,重启系统也没用
'gawk' 不是内部或外部命令,也不是可运行的程序

TOP

回复 12# FOR


    安装版并不是把工具放到%PATH%位置,而是单独一个目录,你找找那个目录下的bin文件夹,把批处理放那里运行
---学无止境---

TOP

本帖最后由 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.。。。

TOP

继续求救
ghost 恢复系统也不行,重新下载 gawk 也不行,换安装版的也不行。。。
现在运行 gawk 除了能查看版本和帮助,其他的都不行了。

TOP

返回列表