Chinaunix

标题: sed添加双斜杠字符需要做特殊处理吗? [打印本页]

作者: xwtnt236    时间: 2013-03-15 15:54
标题: sed添加双斜杠字符需要做特殊处理吗?
本帖最后由 xwtnt236 于 2013-03-15 16:56 编辑

想在文本某一行首行加入字符,对双斜杠字符需要做特殊处理吗? #号没有问题

sed '29 s/^/#&/g' test.txt   这个表达式是ok的

sed '29 s/^///&/g' test.txt  报错  sed: -e expression #1, char 10: unknown option to `s'   

求解!


多谢几位的解答!
作者: Shell_HAT    时间: 2013-03-15 16:00
  1. sed '29 s/^\/\//&/g' test.txt
复制代码
  1. sed '29 s#^//#&#g' test.txt
复制代码

作者: yestreenstars    时间: 2013-03-15 16:06
本帖最后由 yestreenstars 于 2013-03-15 16:07 编辑

@Shell_HAT
根据他前面的那个命令,我觉得他是想在行首插入双斜杆:
  1. sed '29 s#^#//#'
复制代码
而且sed '29 s#^//#&#g' test.txt等于什么都没做~

作者: xwtnt236    时间: 2013-03-15 16:07
回复 3# yestreenstars


    对没错 我就是想在行首加入双斜杠, #和//处理方式不一样?
作者: yestreenstars    时间: 2013-03-15 16:10
处理方式是一样的,s///中的"/"不仅可以用"#"代替,还可以用"!"、"@"等符号代替,效果都是一样的,而且可以避免转义,看起来比较舒服~
作者: seesea2517    时间: 2013-03-15 16:47
lz 都用到这么高级的方法了,居然没听过“转义”这个名词嘛?
作者: xwtnt236    时间: 2013-03-15 16:52
回复 5# yestreenstars


    嗯,明白。多谢!
作者: Shell_HAT    时间: 2013-03-15 17:06
  1. sed '29 s/^/\/\//g' test.txt
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2