跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 怎么用 sed 实现替换’:’变为’’,即类似 tr ‘:’ ‘’ 的效果呢
未分類
10 9 月 2020

怎么用 sed 实现替换’:’变为’’,即类似 tr ‘:’ ‘’ 的效果呢

怎么用 sed 实现替换’:’变为’’,即类似 tr ‘:’ ‘’ 的效果呢

資深大佬 : ticotic 1

替换成特殊字符’t’可以正常输出

echo "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" | sed -n 's/:/t/gp'  # 输出结果为:/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games 

但是对于’’,却没有替换”:”为””

echo "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" | sed -n 's/://gp'  # 输出的结果为:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 

初学 shell,google 了下没找到想要的答案,想请教一下 原因 以及 使用 sed 替换的正确写法,多谢!

大佬有話說 (8)

  • 資深大佬 : thedrwu

    手机上没法测试,猜测需要写成x0 还是u0 之类的,不一定会兼容 POSIX 。

  • 資深大佬 : toaruScar

    对于 sed 来说,s/regexp/replacement/flags 这个命令里,replacement 中的””指代的是整个 regex match 到的部分,所以相当于你告诉 sed 把找到的“:”用“:”替换一遍,所以原封不动的给你送出来了。
    如果要指代 null byte,你可以用”x0″,或者”x0″。

  • 資深大佬 : toaruScar

    *可以用”x0″,或者”o0″

  • 資深大佬 : virtuemartx

    tr ‘:’ ‘’
    tr ‘:’ ‘\0’

  • 資深大佬 : lazyzhang

    sed -n ‘s/:/\0/gp’

  • 資深大佬 : kokutou

    https://i.loli.net/2020/09/09/lxKWwTfYt85JzOp.png

    你 Google 关键字不对吧
    开头 3 个答案, 就是 3 个不同的需求, 全给你解决了…

  • 主 資深大佬 : ticotic

    @thedrwu 试了下替换成x0 或者u0 都可,谢啦!
    @toaruScar 试了下实现效果了,多谢!
    @kokutou emmm 当时也看到了这几个答案,估计是粗心输错命令发现效果不对,所以来问,现在重新看了下再次试验了下确实没错,感谢回答!

  • 主 資深大佬 : ticotic

    u0 -> o0

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具