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

[问题求助] [已解决]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
复制代码
请问应该怎么替换?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

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

评分人数

TOP

本帖最后由 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爽么?
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

回复 2# DAIC


    网址中有&,这个符号sel无法识别,也不晓得能不能转义,尝试转义也不行\&

TOP

回复 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

TOP

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

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



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

TOP

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

TOP

返回列表