gpt4 book ai didi

macos - MacOS 上的 sed "undefined label"

转载 作者:行者123 更新时间:2023-12-02 23:31:47 24 4
gpt4 key购买 nike

我最近发现这个简单的 sed 表达式在 Linux 或 Cygwin 下工作正常,但在 Mac 上失败并出现“未定义标签”错误:

$ sed '/SUCCESSFUL/d ; /\[java\]/!b label; s/\s\+\[java\]//; /^\s*$$/d; /Compiling/!d; :label /^\s*$$/d; s/^/monitor: /'
sed: 1: "/SUCCESSFUL/d ; /\[java ...": undefined label 'label; s/\s\+\[java\]//; /^\s*$$/d; /Compiling/!d; :label /^\s*$$/d; s/^/monitor: /'
MacOS 上的

sed 是 BSD 变体,其选项与 GNU 对应版本不同。但是 man sed 明确表明 MacOS 版本的 sed 支持标签,那么为什么会出现此错误,最重要的是如何解决它?

最佳答案

对于其他有类似问题(在 MacOS 上)的人来说,快速修复可能是:

在字符串表达式前面添加一个空字符串:''

例如:而不是

sed -i 's/foo/bar/g' text.txt

写:

sed -i '' 's/foo/bar/g' text.txt

关于macos - MacOS 上的 sed "undefined label",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12272065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com