中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-05 02:09
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理可以赋值给sed脚本吗? 查看 778 回复 3
楼 主 批处理可以赋值给sed脚本吗? 发表于 2007-06-27 19:26 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
比如批处理如下
@echo off
set var=abc
sed -f s.sed aaa.txt|more>bbb.txt

s.sed脚本代码如下
s/%var%/12345/
请问要怎样才能实现将批处理中的变量引用到sed脚本中去?
2 发表于 2007-06-27 21:07 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
这样肯定不成了,sed脚本是不会识别cmd的环境变量的,批处理的环境不会传递给sed脚本的。

直接在脚本中设置变量之后调用:
@echo off
set var=abc
sed "s/%var%/12345/" aaa.txt|more>bbb.txt
3 发表于 2007-06-27 21:40 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
sed在批处理中又不能分行写,那可如何是好,我要替换的内容很多.
4 发表于 2007-06-27 22:53 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
重定向到sed脚本在调用此脚本。
论坛跳转: