Chinaunix

标题: sed 字符串替换 [打印本页]

作者: done_and_todo    时间: 2012-06-11 08:50
标题: sed 字符串替换
1: echo 'a\\\' | sed 's/\\\\\\/\\/g'
2: A=`echo 'a\\\' | sed 's/\\\\\\/\\/g'`

我看1是正确的,而2就不正确了。请问如何取得最后的输出字符串?
作者: yinyuemi    时间: 2012-06-11 09:33
回复 1# done_and_todo


    A=$(cmd)
作者: xiaoshichao143    时间: 2012-06-11 09:46
yinyuemi 发表于 2012-06-11 09:33
回复 1# done_and_todo


正解..但像2这种方法在其它很多地方是可以用来给变量赋值的啊,为什么在这里用sed替换不行呢?
作者: done_and_todo    时间: 2012-06-11 10:01
回复 2# yinyuemi


    OK, Thank you
作者: done_and_todo    时间: 2012-06-11 10:03
回复 3# xiaoshichao143


    嗯,就是啊,不明白这里sed就不行了。
作者: personball    时间: 2012-06-11 10:11
本帖最后由 personball 于 2012-06-11 10:26 编辑

脚本里使用sed?
刚试了下,在脚本里,a\\\ 本身反斜杠会转义
  1. personball@vostro:sed$./test_e.sh
  2. a\\
  3. a\\\
  4. personball@vostro:sed$cat test_e.sh
  5. #!/bin/bash
  6. a=`echo 'a\\\'`
  7. echo $a
  8. a=`echo 'a\\\\\\'`
  9. echo $a
复制代码

作者: yinyuemi    时间: 2012-06-11 10:17
回复 3# xiaoshichao143


    置顶贴13问里找找答案




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