Board logo

标题: [文本处理] [已解决]批处理怎么把文本中的特殊字符全部替换删除? [打印本页]

作者: abxialiang    时间: 2010-7-2 22:45     标题: [已解决]批处理怎么把文本中的特殊字符全部替换删除?

如题:需要把a.txt里所有的“<^g^>”字符串替换成其它任意字符(这里的任意也包括空,就是删除“<^g^>”的意思)。最后把结果输出到b.txt
a.txt内容如下:
^<g^>

<g>&!123

<g>&<^g^>
如果定义替换成“你好”,那么。输出:
^<g^>

<g>&!123

<g>&你好

[ 本帖最后由 abxialiang 于 2010-7-5 12:00 编辑 ]
作者: sgaizxt001    时间: 2010-7-3 00:05

意思就是^<g^>和<g>不删除,只删除<^g^>?
作者: 随风    时间: 2010-7-3 00:11

楼主的话让我云里雾里,2楼的让我雾里云里。
这是一帮神仙在说话吗?
作者: Seter    时间: 2010-7-3 10:11

LZ的话是经过加密的?MD5还是SHA1?
作者: x9tiancmd    时间: 2010-7-3 14:16

看了一楼糊涂了,看了二楼懑了.(#-.-)/ 
作者: abxialiang    时间: 2010-7-3 21:41

都怪我没有加引号,是把a.txt 中的"<^g^>"字符串替换成其它任意的东西,我觉得说得还算清楚吧,如

123

<^g^>

<g>

替换成"789"后变成

123

789

<g>



怎么样,这下大家清楚了吧
作者: abxialiang    时间: 2010-7-3 21:42

原帖由 sgaizxt001 于 2010-7-3 00:05 发表
意思就是^和不删除,只删除?

二楼说得对,就是这意思,呵呵
作者: sgaizxt001    时间: 2010-7-3 21:56

我看起来没问题啊
但是我看7楼引用我的话却有问题的呢?估计跟你们看我和楼主的一样,少了几个字符。
  1. <^g^>
复制代码
看的见了吗?楼主说的是这几个字符
作者: Batcher    时间: 2010-7-4 11:25

  1. sed "s/<^g^>/789/g" 1.txt >2.txt
复制代码

作者: abxialiang    时间: 2010-7-4 22:40

三方工具有时真是好东西啊
作者: terse    时间: 2010-7-5 01:45

  1. @echo off
  2. set "str1=<^g^>"
  3. set "str2=你好"
  4. mshta vbscript:CreateObject("Scripting.FileSystemObject").OpenTextFile("b.txt",2,True).Write(Replace(CreateObject("Scripting.FileSystemObject").OpenTextFile("a.txt",1).ReadAll,"%str1%","%str2%"))(window.close)
  5. start b.txt
复制代码

作者: abxialiang    时间: 2010-7-5 10:05

发现一人新的问题,用sed工具不能替换如‘</td>’这种字符串,怎么才能解决这个缺陷呢?




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2