中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 09:51
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » sed替换变量的相关问题
可打印版本  964 / 4
第1楼 vkill 发表于 2007-02-12 11:05
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
sed替换变量的相关问题
昨天弄那个“按标记分割文件”的时候做了个实验,其中sed替换变量有些不明白的

例如已定义 set var=123

我想替换a.txt中所有字符 0 为 %var%

在命令行下:
sed "s/0/\%var\%/" a.txt

写在bat中:
继续这样写 sed "s/0/\%var\%/" a.txt就sed出错
而要写为sed "s/0/%%var%%/" a.txt
还有要是想替换a.txt中所有字符 0 为 %1,而你又有%1,这时候在bat中也要写为sed "s/0/%%1/" a.txt


这就不明白了,为什么在命令行和在bat中不一样?

[ Last edited by vkill on 2007-2-12 at 10:59 PM ]
第2楼 wy371tt1 发表于 2007-02-14 00:58
新手上路 发帖 2 积分 4
命令行不需要转义,bat需要转义
第3楼 vkill 发表于 2007-02-14 01:47
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
Originally posted by wy371tt1 at 2007-2-14 00:58:
命令行不需要转义,bat需要转义

转义,说的不合适吧?
第4楼 wy371tt1 发表于 2007-02-14 03:48
新手上路 发帖 2 积分 4
用词不准确,你理解了就行了
第5楼 amao 发表于 2007-02-14 13:13
中级用户 发帖 152 积分 316
个人认为,有点类似于for中参数的用法,虽然不尽相同
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023