如何使用sed编辑css文件中的字体大小和字体系列选项?

如何使用sed编辑css文件中的字体大小和字体系列选项?,css,regex,linux,bash,sed,Css,Regex,Linux,Bash,Sed,我尝试在ubuntu中使用sed命令编辑css字体大小和字体系列选项, 我的css是: stage { font-family: "Comic Sans MS", cursive, sans-serif; font-size: 10pt; } 我使用以下命令: sed -i -e "/(stage\s*\{[\w\s:\-;\(\)#]*)(font-size\s*:\s*)([^\}])(|\})/20pt/" theme.css 它返回关于regex命令的错误。如何使用“

我尝试在ubuntu中使用sed命令编辑css字体大小和字体系列选项, 我的css是:

stage {
    font-family: "Comic Sans MS", cursive, sans-serif;
    font-size: 10pt;
}
我使用以下命令:

sed -i -e "/(stage\s*\{[\w\s:\-;\(\)#]*)(font-size\s*:\s*)([^\}])(|\})/20pt/" theme.css
它返回关于regex命令的错误。如何使用“sed”在“stage”中编辑字体系列和字体大小?

试试以下方法:

sed -i.bak '/^stage/,/}$/ s/font-size:.*/font-size: 20pt;/g' theme.css
它将在以“stage”开始并以“}”结束的行之间进行替换


让我知道它是如何运行的。

谢谢,它适用于我的示例,我想使用此命令创建不同的主题文件,因此存在空间问题,一些主题在stage/fontsize之后/之前使用(不使用)空间。例如,如果我更改css代码,如“stage{”和“font size:20pt;”,您的答案不起作用。编辑:我添加“\s*”,我的问题已得到解决。感谢正则表达式不匹配空格,因此应该可以起作用。如果您能给出一个css文件的示例,但它不起作用,我可能会提供更好的解决方案。我使用此正则表达式命令来解决“^stage\s*/,/”$/s/font-family\s*:\s**/font-family:\“font-name\”;/g'。例如,我改变字体大小,像这样“字体大小:9pt”;或者我改变“stage{”像这样“stage{”,顺便说一下,我在一些主题上有问题,没有字体大小或字体系列,但我想这样。