2014-05-17 23 views
0

我嘗試在Ubuntu sed命令編輯CSS字體大小和字體家庭選項, 我的CSS是:如何在使用sed的css文件中編輯font-size和font-family選項?

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 

它返回有關正則表達式錯誤命令。我該如何使用「sed」在「stage」中編輯font-family和font-size?

回答

1

試試這個:

sed -i.bak '/^stage/,/}$/ s/font-size:.*/font-size: 20pt;/g' theme.css 

它會做與「舞臺」開始,以「}」結束

讓我知道如何去行之間的替代品。

+0

謝謝,它適用於我的例子,我想使用這個命令不同的主題文件,所以有一個空間問題,一些主題使用(不使用)之後/之前的舞臺/字體大小的空間。例如,如果我改變這樣的「stage {」和「font-size:20pt;」的CSS代碼你的答案不起作用。編輯:我添加「\ s *」我的問題修復。謝謝 – user3648566

+0

正則表達式不匹配空格,因此應該工作。如果你可以給一個不工作的CSS文件的樣本,我可以提供更好的解決方案 – Tiago

+0

我使用這個正則表達式命令解決方案「/^stage \ s * /,/} $/s/font-family \ s * :\ s *。*/font-family:\「font name \」;/g'「。例如,我改變字體大小像這樣「font-size:9pt;」或者我改變「stage {」像這樣「stage {」順便說一下,我在某些主題上有問題,沒有字體大小或字體系列,但我想成爲。 – user3648566

相關問題