标题: [文本处理] [已解决]批处理怎样在文本特征字符串所在行的后面段落添加指定文本内容? [打印本页]
作者: lxh623 时间: 2011-9-7 14:28 标题: [已解决]批处理怎样在文本特征字符串所在行的后面段落添加指定文本内容?
文本a含有20行。
文本b有些行含有字符串“第1局”、“第2局”、或者“第一局”、“第二局”等。
想在文本b搜索含有“第*局”的行,在该行行首添加“标题:”,并在其下一行开始添加文本a的内容,并把结果输出到文本c。(文本b的其余部分全部进入文本c。)
文本b示例:
第一章黑卒底炮类
第一节黑象3进5式 一、红马二进三对卒3进1局型
第1局红炮八平六仕角炮局(1)
1. 兵七进一炮2平3
红进三、七兵,俗称"仙人指路",统称进兵局。黑以平炮瞄 兵,称为卒底炮或小当头,是目前应付进兵局最为流行的开局法。
2. 炮二平五象3进5 3.马二进三卒3进1
文本a见附件。不好意思,变更了一下。
谢谢您!
作者: sxw 时间: 2011-9-7 15:22
想变成什么样的结果?举个例子说一下?
作者: lxh623 时间: 2011-9-7 15:50
本帖最后由 lxh623 于 2011-9-7 16:06 编辑
想变成什么样的结果?举个例子说一下?
sxw 发表于 2011-9-7 15:22
谢谢!
例如:
标题: 第1局*****
分类:
来源:
赛事类型:
赛事:
轮次:
组别:
台次:
日期:
地点:
时间规则:
红方:
红等级分:
红方用时:
红队:
黑方:
黑等级分:
黑方用时:
黑队:
解说:杨典
录入:leescott
创建日期:
修改日期:
ECCO:
棋谱类型:实战全局/开局
对局种类:
结果:未知
结束方式:
作者: JooKin 时间: 2011-9-7 17:21
- @echo off
- setlocal enabledelayedexpansion
- for %%i in (1 2 一 二) do (set "a=第%%i局"
- (findstr /i "!a!" b.txt)&&echo;!a!>标题
- )
- (findstr /i ".*" 标题*
- type a.txt)>x.txt
- del 标?
复制代码
作者: lxh623 时间: 2011-9-7 20:55
本帖最后由 lxh623 于 2011-9-7 21:00 编辑
回复 4# JooKin
谢谢楼上。好像不对,而且1、2、一、二太少。有时候1-200,也这样输入,很麻烦。
作者: lvsehuaxue 时间: 2011-9-9 14:56
本帖最后由 lvsehuaxue 于 2011-9-9 15:00 编辑
- @Echo Off
- (for /f "delims=" %%i in (b.txt) do (
- echo %%i|findstr "第.局">nul&&(echo 标题:%%i&type a.txt)||echo %%i
- ))>c.txt
- pause
复制代码
作者: lxh623 时间: 2011-9-9 21:17
取消。通过文本编辑得以解决。
方法是:^(第.{1,3}局.*)$ 替换为
标题:\1\n分类:\n来源:\n赛事类型:\n赛事:\n轮次:\n组别:\n台次:\n日期:\n地点:\n时间规则:\n红方:\n红等级分:\n红队:\n黑方:\n黑等级分:\n黑队:\n解说:杨典\n录入:leescott\n创建日期:\n修改日期:\nECCO:\n棋谱类型:实战全局/开局\n对局种类: \n结果:未知\n结束方式:\n
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |