需要帮助将debian命令从debian移植到OSX

poc*_*ese 5 macos shell command-line sed

这是一个适合你的大师.我真的不太了解sed将它完全分开.它是在一些标准的Linux发行版上编写的,我需要它在OSX上运行.

COMPILE_FILES=$(sed -nr '/<script type="text\/javascript"/ { s%^.*src="\{\$baseUrl\}/([^"]+)".*$%\1%p }' templates/common/minifiedScripts.tpl)
Run Code Online (Sandbox Code Playgroud)

第一件事是在OSX版本的sed上不存在r标志.我认为等效的是-E,所以改变了它.但后来我得到:

sed: 1: "/<script type="text\/ja ...": bad flag in substitute command: '}'
Run Code Online (Sandbox Code Playgroud)

谢谢!

Pau*_*ce. 10

OS X sed不喜欢使用分号一起运行多个命令或用花括号分组(在您拥有的命令中不需要).试试这个:

COMPILE_FILES=$(sed -n -E '/<script type="text\/javascript"/ s%^.*src="\{\$baseUrl\}/([^"]+)".*$%\1%p' templates/common/minifiedScripts.tpl)
Run Code Online (Sandbox Code Playgroud)

如果您的sed脚本包含多个命令,则必须使用-e以下命令将其分解:

sed -n -E -e '/match/ {' -e 's/foo/bar/' -e 's/baz/qux/' -e 'p' -e '}'
Run Code Online (Sandbox Code Playgroud)