Board logo

标题: [问题求助] [已解决]sed替换网址,网址的特殊字符替换失灵 [打印本页]

作者: jzsgyml    时间: 2014-3-4 03:50     标题: [已解决]sed替换网址,网址的特殊字符替换失灵

  1. sed -ri -e 's/aaaaaaaaaa/bbbbbbbbbb/g' C:\1.txt
复制代码
这个表示将aaaaaaaaaa替换成bbbbbbbbbb。

我希望将aaaaaaaaaa替换成http://tieba.baidu.com/f/php?kw=123&action=123

发现怎么弄都是失败,不晓得是/:不支持还是什么,
  1. sed -ri -e 's/aaaaaaaaaa/http://tieba.baidu.com/f/php?kw=123&action=123/g' C:\1.txt
复制代码
  1. set temp=http://tieba.baidu.com/f/php?kw=123&action=123
  2. sed -ri -e 's/aaaaaaaaaa/%temp%/g' C:\1.txt
复制代码
请问应该怎么替换?
作者: DAIC    时间: 2014-3-4 08:13

  1. sed -i "s#aaaaaaaaaa#http://tieba.baidu.com/f/php?kw=123\&action=123#g" C:\1.txt
复制代码

作者: PowerShell    时间: 2014-3-4 10:10

本帖最后由 PowerShell 于 2014-3-4 10:12 编辑

既然有C:\1.txt 那就是win,何不尝试下powershell的威力?绝对不会失灵

powershell代码
  1. $原始串 = "caaaaaaaaad"
  2. $要查找的串 = "aaaaaaaaa"
  3. $要替换的串 = "bbbbbbbbbb"
  4. $原始串  -replace $要查找的串,$要替换的串
  5. $原始串 = "caaaaaaaaad"
  6. $要查找的串 = "aaaaaaaaa"
  7. $要替换的串 =
  8. @"
  9. http://tieba.baidu.com/f/php?kw=123&action=123
  10. "@
  11. $原始串  -replace $要查找的串,$要替换的串
复制代码
上述代码power shell 命令行窗口可以运行
----------------测试结果为:--------------------------
cbbbbbbbbbbd
chttp://tieba.baidu.com/f/php?kw=123&action=123d

------------------------------------------
powershell使用。net正则,简单直观。
powergui,带有单行调试!!!不比sed爽么?
作者: jzsgyml    时间: 2014-3-4 15:36

回复 2# DAIC


    网址中有&,这个符号sel无法识别,也不晓得能不能转义,尝试转义也不行\&
作者: DAIC    时间: 2014-3-4 15:54

回复 4# jzsgyml


我的测试结果:

c:\Test>type a.txt
aaaaaaaaaa

c:\Test>sed -i "s#aaaaaaaaaa#http://tieba.baidu.com/f/php?kw=123\&action=123#g" a.txt

c:\Test>type a.txt
http://tieba.baidu.com/f/php?kw=123&action=123
作者: jzsgyml    时间: 2014-3-4 20:20

既然有C:\1.txt 那就是win,何不尝试下powershell的威力?绝对不会失灵

powershell代码上述代码power sh ...
PowerShell 发表于 2014-3-4 10:10



    前段时间还热烈讨论xp退役,cmd是不是功成身退。现在xp确实停止维护了,但是微软不是放弃cmd,居然还开发了更高级的PowerShell,不错不错
作者: jzsgyml    时间: 2014-3-4 20:23

回复  jzsgyml


我的测试结果:

c:\Test>type a.txt
aaaaaaaaaa

c:\Test>sed -i "s#aaaaaaaaaa ...
DAIC 发表于 2014-3-4 15:54



    测试无误。要把/改成#,你的无误
  1. sed -i  's/aaaaaaaaaa/bbbbbbbbbb/g' C:\1.txt
复制代码
  1. sed -i  "s#aaaaaaaaaa#bbbbbbbbbb#g" C:\1.txt
复制代码





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