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

[文本处理] [已解决]批处理怎样实现有规律的文本替换?

下面是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==网易


顺祝大家周末愉快哦!
改主题帖主要是网址后面有路径的话批处理就很难处理,望得到帮助,谢谢
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
有创新,多创新;无创新,多模仿;无模仿,多坚持

我来帖个代码
仅作演示
不生成文本:
  1. @echo off
  2. for /f delims^=^"^>^<^ tokens^=2^,4^,5 %%i in (test.txt) do echo %%i==%%j==%%k
  3. pause
复制代码
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

  1. (for /f "tokens=3,5,6 delims==<> " %%i in (a.txt) do echo,%%~i==%%~j==%%~k)>b.txt
复制代码

TOP

3# 601997526


好像不行,我主题帖更正了一下!
有创新,多创新;无创新,多模仿;无模仿,多坚持

TOP

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

评分人数

TOP

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==网易


顺祝大家周末愉快哦!
改主题帖主要是网址后面有路径的话批处理就很难处理,望得到帮助,谢谢
有创新,多创新;无创新,多模仿;无模仿,多坚持

TOP

  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
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 7# Batcher


    请问版主sed.exe是不是一定要放在system32文件夹里面
有创新,多创新;无创新,多模仿;无模仿,多坚持

TOP

回复 8# fanfande


    不一定,只要放在 path 变量所存储的任意一个路劲中即可,比如 windows 文件夹或者 system32 文件夹。
   当然也可以放在命令对应的当前路径(如果执行该命令前没有进行切换路径操作的话,则一般为脚本所在路径)。

TOP

返回列表