使用sed解压缩样式表

时间:2011-06-09 03:20:57

标签: css regex bash sed compression

使用

将样式表压缩为1行
cat stylesheet.css | gsed "s|/\*\(\\\\\)\?\*/|/~\1~/|g" -e "s|/\*[^*]*\*\+\([^/][^*]*\*\+\)*/||g" -e "s|\([^:/]\)//.*$|\1|" -e "s|^//.*$||" | tr '\n' ' ' | sed -e "s|/\*[^*]*\*\+\([^/][^*]*\*\+\)*/||g" -e "s|/\~\(\\\\\)\?\~/|/*\1*/|g" -e "s|\s\+| |g" -e "s| \([{;:,]\)|\1|g" -e "s|\([{;:,]\) |\1|g"

我试图扭转这个过程。

cat stylesheet-compress.css | gsed 's/\([;{]\)\([^\n]\)/\1\n\t\2/g' | gsed 's/\([^}]\)}/\1;\n}\n\n/g' | gsed 's/{/ {/g' | gsed 's/[,]/& /g' | gsed '/}/ { n;n; s/}\n\([^\n]\)/}\n\n\1/ }'

大部分都有效,但有些css条目有缩进和额外的;'s

1 个答案:

答案 0 :(得分:3)

我认为你正在寻找一个CSS格式化程序。网上有很多。例如。 http://www.lonniebest.com/FormatCSS/。如果你必须从shell进行,我会生成另一个程序来完成繁重的工作。 http://cthedot.de/cssutils/会做到这一点。