【问题标题】:Sed \w character class not working with replace on macSed \w 字符类不适用于 mac 上的替换
【发布时间】:2020-04-14 06:45:29
【问题描述】:

当我在 OSX 上执行此命令时,我希望每个字母都被替换为“x”,但没有一个字母被替换:

$ echo 'a b c' | sed 's/\w/x/g'

输出:a b c

这很好用:

echo 'a b c' | sed 's/[[:alpha:]]/x/g'

输出:x x x

我错过了什么?

【问题讨论】:

  • 我不认为sed 支持\w。 (毕竟它不是 perl)。也许使用sed -r ... 调用。检查man sed。不是真正的编程Q,将来在Unix & Linux 上发布此类问题。并且请先阅读Help On-topicHelp How-to-ask,然后再在此处发布更多问题。祝你好运。

标签: regex macos sed


【解决方案1】:

请注意,sed 在 Mac 上的 BSD 实现与其他 linux 机器不同

您可以安装 gnu sed。在 Apple Mac OS 上运行以下命令:

$ brew install gnu-sed

参考:https://www.cyberciti.biz/faq/how-to-use-sed-to-find-and-replace-text-in-files-in-linux-unix-shell/

【讨论】:

  • 并用作gsed
猜你喜欢
  • 2014-09-16
  • 2021-05-21
  • 1970-01-01
  • 2016-02-28
  • 2011-12-20
  • 2020-11-18
  • 1970-01-01
  • 2014-09-27
  • 1970-01-01
相关资源
最近更新 更多