Board logo

标题: [文本处理] [已解决]批处理怎样实现有规律的文本替换? [打印本页]

作者: 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

我来帖个代码
仅作演示
不生成文本:
  1. @echo off
  2. for /f delims^=^"^>^<^ tokens^=2^,4^,5 %%i in (test.txt) do echo %%i==%%j==%%k
  3. pause
复制代码

作者: 601997526    时间: 2011-6-10 19:20

  1. (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

  1. @echo off&setlocal EnableDelayedExpansion
  2. for /f "delims=" %%i in (a.txt) do (set a=%%i
  3. set a=!a:*"=!
  4. set a=!a:" href=!
  5. set a=!a:"http:==http:!
  6. set a=!a:">===!
  7. set a=!a:^</a^>=!
  8. echo !a!
  9. )>b.txt
  10. 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

  1. 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