中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何将文本文件里面的符号替换成空格?
« [1] [2] »
作者:
标题: 如何将文本文件里面的符号替换成空格? 上一主题 | 下一主题
hhihh
新手上路





积分 12
发帖 4
注册 2006-5-13
状态 离线
『楼 主』:  如何将文本文件里面的符号替换成空格?

谢谢了,用批处理的方式,文件见附件

内容是2006|2007|2008|2009

附件 1: hhh.txt (2006-5-13 12:28, 19 bytes, 下载附件所需积分 1 点 ,下载次数: 46)
2006-5-13 12:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 2 楼』:  


@echo off
set /p str=<hhh.txt
set str=%str:|= %
echo %str%
pause
只要把每一行的内容保存到变量中,再用set命令改造就行了。给出的例子只能操作文本文件的第一行,要想操作多行,可以用for命令,或者用vbs脚本的scripting.filesystemobjects对象和split函数。

2006-5-13 12:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hhihh
新手上路





积分 12
发帖 4
注册 2006-5-13
状态 离线
『第 3 楼』:  

谢谢版主的解答,请帮忙写一个能处理上千条纪录的程序好吗?

最好是那个用FOR命令的,能看懂,嘿嘿

不是我懒,我刚开始学习DOS命令,但是工作中用到的太多了

再次感谢版主了

2006-5-13 13:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hhihh
新手上路





积分 12
发帖 4
注册 2006-5-13
状态 离线
『第 4 楼』:  

能把处理后的信息保存到原来的文件里面吗?

2006-5-13 14:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 5 楼』:  

可以参考这个贴子里面的vbs脚本,可以实现你要求的功能。
只需要在弹出的对话框中输入 "|:= " 就可以了。

2006-5-13 14:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hhihh
新手上路





积分 12
发帖 4
注册 2006-5-13
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by 3742668 at 2006-5-13 14:17:
可以参考这个贴子里面的vbs脚本,可以实现你要求的功能。
只需要在弹出的对话框中输入 "|:= &qu ...

看了一下,非常好,谢谢了

2006-5-13 14:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fan927
初级用户





积分 82
发帖 31
注册 2006-5-23
状态 离线
『第 7 楼』:  

用sed方便一些,
sed "s/a/b/g" t.txt    \\将t.txt中所以的字符a替换为字符b.
find "o" t.txt|sed "s/tt/xx/g"         \\将t.txt文件里面所以包含字符"o"的行中的"tt"字符替换为字符"xx"
sed是linux里的经典命令之一,现在被一些高人嫁接到dos下,和批处理结合功能非常强大,灵活.还有很多高级用法,可以参考linux教程里sed命令.和linux下用法基本相同.这个命令只有80多k,在网上可以搜的到.

[ Last edited by fan927 on 2006-5-25 at 15:26 ]

2006-5-25 15:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 8 楼』:  

Re fan927:

      "sed是linux里的经典命令之一,现在被一些高人嫁接到dos下"

      sed的设计构思应该发源于Unix下的编辑器ed,是 Eric S. Raymond 在91年前后为GNU组织所设想的开源操作系统所编写的一个字符流编辑器,因为是开源程序,所以很快出现了各种平台下的移植版本,而Howard Helman在当年所改写的 HHSED 提供了Unix@SUN4和DOS@PC两个平台下的运行版本。而那时候Linux才刚刚诞生,后来伴随着POSIX标准和Linux实现的成熟,sed的GNU版本才应用到了Linux中。



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2006-5-25 19:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fan927
初级用户





积分 82
发帖 31
注册 2006-5-23
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by willsort at 2006-5-25 19:02:
Re fan927:

      "sed是linux里的经典命令之一,现在被一些高人嫁接到dos下"

      sed的设计构思应该发源于Unix下的编辑器ed,是 Eric S. Raymond 在91幠...

涨见识了,多谢willsort版主.
不过不知道这么优秀的命令为什么dos下没有呢?我觉得它对文本中字符的操作完全可以用"随心所欲"来形容.这正是批处理缺乏的.

2006-5-25 20:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 10 楼』:  

Re fan927:

      请注意8楼的这句话:“而Howard Helman在当年所改写的 HHSED 提供了Unix@SUN4和DOS@PC两个平台下的运行版本”。也就是说,早在sed刚出现的91年就已经有DOS下的sed版本了,只不过因为它是遵循GPL的开源软件,所以只能作为第三方工具而存在,不可能被微软包含在它的MS-DOS/Windows发行包中。

      另外,随着GNU sed发展的日益成熟,其DOS16和Win32平台的移植品越来越强大,所以它逐渐像微软的软件一样成为事实标准,而HHSED则渐渐悄无声息了,其原因一则缺乏维护,二则它本就是GNU sed的Mod。

[ Last edited by willsort on 2006-5-25 at 23:16 ]



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2006-5-25 23:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mylovelyqq
初级用户




积分 170
发帖 25
注册 2004-11-11
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by 3742668 at 2006-5-13 12:36 PM:
@echo off
set /p str=<hhh.txt
set str=%str:|= %
echo %str%
pause
只要把每一行的内容保存到变量中,再用set命令改造就行了。给出的例子只能操你...

set str=%str:|= %
这句是什么意思啊,实在是不懂

2006-11-29 03:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 12 楼』:  



  Quote:
Originally posted by mylovelyqq at 2006-11-29 03:19:



set str=%str:|= %
这句是什么意思啊,实在是不懂

替换变量”str“中的”|“为空格



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-11-29 03:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mylovelyqq
初级用户




积分 170
发帖 25
注册 2004-11-11
状态 离线
『第 13 楼』:  



  Quote:
Originally posted by ccwan at 2006-11-29 03:24 AM:


替换变量”str“中的”|“为空格

我知道是这个功能,这是set 的什么用法呀,查帮助没说吧,你能帮我分析一下这句吗,谢了

2006-11-29 03:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
mylovelyqq
初级用户




积分 170
发帖 25
注册 2004-11-11
状态 离线
『第 14 楼』:  

ccwan,你别老是不说清楚就没音了呀,光一个结果,原因,过程,理由呢

2006-11-29 03:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 15 楼』:  



  Quote:
Originally posted by mylovelyqq at 2006-11-29 03:30:



我知道是这个功能,这是set 的什么用法呀,查帮助没说吧,你能帮我分析一下这句吗,谢了

帮助中有啊,在第三页。%PATH:str1=str2%



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-11-29 03:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: