标题: [文本处理] [已解决]批处理怎样实现有规律的文本替换? [打印本页]
作者: fanfande 时间: 2011-6-10 18:09 标题: [已解决]批处理怎样实现有规律的文本替换?
下面是txt文档里面的内容,很有规律:
<a title="搜狐" href="http://www.sohu.com/info.jsp?id=332">搜狐</a>
<a title="百度" href="http://www.baidu.com">百度</a>
<a title="网易" href="http://www.163.com">网易</a>
想把他变成下面的格式,并生成在另外一个文档里面:
搜狐==http://www.sohu.com/info.jsp?id=332==搜狐
百度==http://www.baidu.com==百度
网易==http://www.163.com==网易
顺祝大家周末愉快哦!
改主题帖主要是网址后面有路径的话批处理就很难处理,望得到帮助,谢谢
作者: namejm 时间: 2011-6-10 18:56
我来帖个代码
仅作演示
不生成文本:- @echo off
- for /f delims^=^"^>^<^ tokens^=2^,4^,5 %%i in (test.txt) do echo %%i==%%j==%%k
- pause
复制代码
作者: 601997526 时间: 2011-6-10 19:20
- (for /f "tokens=3,5,6 delims==<> " %%i in (a.txt) do echo,%%~i==%%~j==%%~k)>b.txt
复制代码
作者: fanfande 时间: 2011-6-10 19:32
3# 601997526
好像不行,我主题帖更正了一下!
作者: 601997526 时间: 2011-6-10 21:44
- @echo off&setlocal EnableDelayedExpansion
- for /f "delims=" %%i in (a.txt) do (set a=%%i
- set a=!a:*"=!
- set a=!a:" href=!
- set a=!a:"http:==http:!
- set a=!a:">===!
- set a=!a:^</a^>=!
- echo !a!
- )>b.txt
- pause
复制代码
作者: fanfande 时间: 2011-6-19 03:03
5# 601997526
下面是txt文档里面的内容,很有规律:
<a title="搜狐" href="http://www.sohu.com/info.jsp?id=332">搜狐</a>
<a title="百度" href="http://www.baidu.com">百度</a>
<a title="网易" href="http://www.163.com">网易</a>
想把他变成下面的格式,并生成在另外一个文档里面:
搜狐==http://www.sohu.com/info.jsp?id=332==搜狐
百度==http://www.baidu.com==百度
网易==http://www.163.com==网易
顺祝大家周末愉快哦!
改主题帖主要是网址后面有路径的话批处理就很难处理,望得到帮助,谢谢
作者: Batcher 时间: 2011-6-19 10:28
- sed -r "s/^<a title=\x22(.*)\x22 href=\x22/\1==/; s/\x22>(.*)<.*/==\1/" a.txt | more >b.txt
复制代码
http://bbs.bathome.net/thread-1114-1-1.html
作者: fanfande 时间: 2011-11-24 16:03
回复 7# Batcher
请问版主sed.exe是不是一定要放在system32文件夹里面
作者: CrLf 时间: 2011-11-24 16:17
回复 8# fanfande
不一定,只要放在 path 变量所存储的任意一个路劲中即可,比如 windows 文件夹或者 system32 文件夹。
当然也可以放在命令对应的当前路径(如果执行该命令前没有进行切换路径操作的话,则一般为脚本所在路径)。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |