sed命令剥离CSS注释不起作用

sed命令剥离CSS注释不起作用,css,bash,sed,Css,Bash,Sed,我正在尝试使用sed从CSS文件中删除注释。我正在使用macOS,并将其作为测试文件 到目前为止,我有: sed -E 's,\/\*[^*]*\*+([^/*][^*]*\*+)*\/,,g' < normalize.css > normalize.min.css 没有运气 任何帮助都将不胜感激。谢谢 这项任务非常重要。但是,如果您使用面向行的工具,那么它将变得不必要的困难。这项任务对我大喊大叫,就像是意外的复杂性 我不会再推动这件事了。下面是一个用于此的示例,以便您可以将其添加

我正在尝试使用
sed
从CSS文件中删除注释。我正在使用macOS,并将其作为测试文件

到目前为止,我有:

sed -E 's,\/\*[^*]*\*+([^/*][^*]*\*+)*\/,,g' < normalize.css > normalize.min.css
没有运气

任何帮助都将不胜感激。谢谢

这项任务非常重要。但是,如果您使用面向行的工具,那么它将变得不必要的困难。这项任务对我大喊大叫,就像是意外的复杂性

我不会再推动这件事了。下面是一个用于此的示例,以便您可以将其添加到构建中。这是一个在线文件,你可以随意使用


我不知道你在建什么样的网站。然而,css预处理器可能会简化您的工作。下面是一个。

使用像
这样的替代分隔符的全部原因是,您不需要逃避正斜杠<代码>s,/\*[^*]*\*+([^/*][^*]*\*+)*/,.g。也就是说,对于像
/*foo*/
这样的简单输入,原始版本似乎可以很好地工作。谢谢@chepner。是的,我经常胡闹,请原谅分隔符。我的测试文件是normalize.css,所以我将用它更新这个问题。这将有助于创建一个小样本(比如5-10行)并显示要删除的行。。。单行评论?多行注释?默认情况下,sed一次只能工作一行(换行符是默认分隔符)。。。可能是
sed'\\\\\^/\*\\\\*/$d'
是您要找的吗?嗨,塔玛斯,谢谢您的帮助。我知道css缩微器和预处理器,并且经常使用它们。我正在为一个小用例寻找一个(希望是)简单的基于shell的解决方案,在这个小用例中,我希望删除尽可能多的依赖项。由于
sed
是面向行的,这比它应该的要困难。明白了。我接受“这不是一个好主意”的回答。谢谢
sed -E '/\/\*[^*]*\*+([^/*][^*]*\*+)*\//d' < normalize.css > normalize.min.css