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

[文本处理] [已解决]如何根据一个文本列出的字符串替换关系式对另一个文本相应的字符串进行替换

[复制链接]
发表于 2016-8-29 11:47:17 | 显示全部楼层
回复 29# 沸羊羊
你用的啥系统啊。还有要单独一个批处理,不要跟别的代码混用在一起。
 楼主| 发表于 2016-8-29 12:32:29 | 显示全部楼层
回复 31# happy886rr


    win7 ,我直接将你的脚本复制到一个新的bat中,然后执行
发表于 2016-8-29 12:43:34 | 显示全部楼层
回复 29# 沸羊羊


C:\Test>sed --version
sed (GNU sed) 4.2.2

看看你下载的哪个版本,老版本的 sed 可能不支持 -i
 楼主| 发表于 2016-8-29 14:39:33 | 显示全部楼层
回复 25# happy886rr


    您好,我也没找到sed的教程,能不能帮我解释下,这段脚本的意义?
发表于 2016-8-29 15:49:48 | 显示全部楼层
回复 34# 沸羊羊
  1. for /f "tokens=1-3 delims=:," %%a in ('findstr /n .* a.txt') do (sed -i "%%as/,%%b,/,%%c,/" b.txt)
复制代码
这个代码没问题,我是32位win7系统,我下载你提供的a、b.txt测试了5遍,没有任何问题。得到的b.txt与你要求的test.txt完全一致。

其中'findstr /n .* a.txt'就是给a.txt编上行号,
"tokens=1-3 delims=:,"是用:提取行号和用,号提取a.txt中的数据
sed -i "%%as/,%%b,/,%%c,/" b.txt中的%%as是替换一一对应行的内容,将%%b(也就是你所说的1111111)替换成%%c(也就是你所说的1)
for /f就是文本循环,从a.txt的第一行一直循环到最后一行。

可能是你控制台设置里“当前代码页编码不对”是否为gbk936编码。
 楼主| 发表于 2016-8-30 14:23:12 | 显示全部楼层
回复 35# happy886rr


    您好,感谢您的详解,谢谢
 楼主| 发表于 2016-8-30 14:51:48 | 显示全部楼层
回复 33# GNU


    您好,请问您有没有详细一点的,批处理教程,我想深入学习批处理,谢谢!
发表于 2016-8-30 16:37:55 | 显示全部楼层
回复 34# 沸羊羊


这里有 sed 教程,Linux和Windows绝大部分内容是通用的。
http://bbs.bathome.net/thread-13203-1-1.html
发表于 2016-8-30 16:42:56 | 显示全部楼层
回复 37# 沸羊羊


试试这两个教程
http://bbs.bathome.net/thread-14608-1-1.html
http://bbs.bathome.net/thread-31727-1-1.html

微信群会不定期进行在线分享,也会发布到微信公众号,欢迎多多关注
http://bbs.bathome.net/thread-3473-1-1.html
 楼主| 发表于 2016-8-30 16:57:58 | 显示全部楼层
回复 39# Batcher


    非常感谢!已申请QQ群,但是微信公众号显示不了?
发表于 2016-8-30 18:07:02 | 显示全部楼层
回复 40# 沸羊羊


http://bbs.bathome.net/thread-3473-1-1.html
如果你看不到这个帖子里面的所有图片,请检查一下是否已经登录了,www和bbs两个域名需要分别登录的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 12:38 , Processed in 0.018883 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表