中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 00:57
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 使用sed时碰到\n该怎么处理呢 查看 679 回复 4
楼 主 使用sed时碰到\n该怎么处理呢 发表于 2007-12-27 16:28 ·  中国 北京 海淀区 联通
初级用户
积分 28
发帖 10
注册 2007-10-18 10:16
18年会员
UID 100048
性别 男
状态 离线
我想将某文本中的一行用变量里的值代替,但是该变量的值大概是这样的c:\release\new,此时发现替换后变成了
c:
elease
ew
即把\r \n都当作转义字符了,我该怎么做才能保持原字符串呢
2 发表于 2007-12-27 17:22 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
将变量的值设置为“c:\\release\\new”。
3 发表于 2007-12-27 17:40 ·  中国 北京 海淀区 联通
初级用户
积分 28
发帖 10
注册 2007-10-18 10:16
18年会员
UID 100048
性别 男
状态 离线
谢谢,我先将变量中的所有\都替换成了/即可,顺便问一句,sed命令中有没有什么参数可以直接将转义字符当作普通字符处理呢
4 发表于 2007-12-27 20:31 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
不知道你具体的测试环境,如果是cmd下面的sed,替换成/应该是错误了。

另外,\ 这个转义字符在sed里面比较特殊,我还没找到可以简单的把它当特殊字符对待的办法,可能是我有命令行参数还不是很清楚吧。
5 发表于 2007-12-27 21:35 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
把你写的sed命令贴出来看看先
论坛跳转: