|
5600549976
新手上路
积分 11
发帖 11
注册 2009-4-19
状态 离线
|
『楼 主』:
[求助]截取然后替换
有一堆网页文件,每个网页文件都含有一个<h1>aaaaa</h1>标记,aaaaa有四种类型 :
1.精装版《机械工程控制基本理论》西安交大出版社
2.(机械工程控制基本理论)西安交大出版社
3.机械工程控制基本理论(西安交大出版社)
4.机械工程控制基本理论
现在我想做的是
(1)如果aaaaa是类型1,把书名号中的内容(不包括书名号)替换此网页中的
<code>点击查看<a href=http://{$url}>书籍名称</a>内容</code>
中的"书籍名称"
(2)如果aaaaa是类型2,把括号中的内容(不包括括号)替换替换此网页中的
<code>点击查看<a href=http://{$url}>书籍名称</a>内容</code>
中的"书籍名称"
(3)如果aaaaa是类型3,去掉括号中的内容以及括号,然后把剩下的内容替换替换此网页中的
<code>点击查看<a href=http://{$url}>书籍名称</a>内容</code>
中的"书籍名称"
(4)如果aaaaa是类型4,直接把内容替换就可以
请问用使用FR.EXE批处理如何实现自动判断网页是以上那种类型并且实现全自动批量替换(直接在源文件上改,不需要生成新的文件)
|
|
2009-4-21 01:11 |
|
|
5600549976
新手上路
积分 11
发帖 11
注册 2009-4-19
状态 离线
|
|
2009-4-21 01:48 |
|
|
freeants001
中级用户
积分 330
发帖 244
注册 2006-4-14 来自 湖北
状态 离线
|
『第
3 楼』:
书籍名都一样,用sed很方便
sed "s/>书籍名称</>机械工程控制基本理论</g" a.htm
附件
1: sed.rar (2009-4-21 02:08, 40.33 K,下载次数: 6)
|
|
2009-4-21 02:08 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
|
2009-4-21 02:26 |
|
|
yishanju
银牌会员
[b]看你妹啊[/b]
积分 1488
发帖 1357
注册 2006-5-20
状态 离线
|
『第
5 楼』:
没全明白,迷糊。
把原文件传上来看看
|
有问题请发论坛或者自行搜索,再短消息问我的统统是SB |
|
2009-4-21 02:27 |
|
|
yishanju
银牌会员
[b]看你妹啊[/b]
积分 1488
发帖 1357
注册 2006-5-20
状态 离线
|
『第
6 楼』:
我很懒就大概的写一个样子,正则表达式写得不是很精确。
for /f "tokens=1* delims=" %%a in ('fr xx.html -rnnlic:".*<h1>.+《(.+)》.*</h1>.*" -t:"\1" -stdout') do (
echo 得到类型1书名: %%a
fr -f:"书籍名称" -t:"%%a" xx.html
)
|
有问题请发论坛或者自行搜索,再短消息问我的统统是SB |
|
2009-4-21 02:54 |
|
|
5600549976
新手上路
积分 11
发帖 11
注册 2009-4-19
状态 离线
|
『第
7 楼』:
yishanju大哥的批处理很棒,但有个很大的问题,我把批处理改成
for /f "tokens=1* delims=" %%a in ('fr *.html -rnnlic:".*<h1>.+《(.+)》.*</h1>.*" -t:"\1" -stdout') do (
echo 得到类型1书名: %%a
fr -f:"书籍名称" -t:"%%a" *.html
) 今天把批处理拿到学校机房用的时候,处理一批文件时,批处理首先会遍历所有的HTML文件,然后把找到的每个HTML文件所有的%%a写入每个HTML里面,结果造成每个HTML文件里面都有所有HTML文件里的书名,应该怎么改使批处理处理完第一个文件后,然后处理第二个,不会相互影响
[ Last edited by 5600549976 on 2009-5-10 at 00:22 ]
|
|
2009-5-10 00:21 |
|
|
5600549976
新手上路
积分 11
发帖 11
注册 2009-4-19
状态 离线
|
|
2009-5-10 01:57 |
|
|
5600549976
新手上路
积分 11
发帖 11
注册 2009-4-19
状态 离线
|
|
2009-5-10 04:36 |
|
|
yishanju
银牌会员
[b]看你妹啊[/b]
积分 1488
发帖 1357
注册 2006-5-20
状态 离线
|
『第
10 楼』:
我脑袋就大了,我给的代码是处理单个文件的
处理多文件需要在外面加一层FOR 得到文件名。
|
有问题请发论坛或者自行搜索,再短消息问我的统统是SB |
|
2009-5-10 07:04 |
|
|
5600549976
新手上路
积分 11
发帖 11
注册 2009-4-19
状态 离线
|
|
2009-5-10 09:59 |
|