Board logo

标题: sed替换变量的相关问题 [打印本页]

作者: vkill     时间: 2007-2-12 11:05    标题: 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 ]
作者: wy371tt1     时间: 2007-2-14 00:58
命令行不需要转义,bat需要转义
作者: vkill     时间: 2007-2-14 01:47


  Quote:
Originally posted by wy371tt1 at 2007-2-14 00:58:
命令行不需要转义,bat需要转义

转义,说的不合适吧?
作者: wy371tt1     时间: 2007-2-14 03:48
用词不准确,你理解了就行了
作者: amao     时间: 2007-2-14 13:13
个人认为,有点类似于for中参数的用法,虽然不尽相同