额,如果不考虑用java,还是可以考虑考虑这个…

#!/bin/sh
#"^M"用来代替显示win下的换行符,直接复制这段脚本是不能用滴
cat $1 | sed -e 's/^M//g;s/^\xef\xbb\xbf//g;s/\([^0-9]\)0p[xt]/\10/g' -e 's/\/\*.*\*\///g' | sed -e '/^[\t ]*\/\*/,/\*\/[\t ]*$/d' | sed -e '/^[\t ]*$/d' -e 's/^[\t ]*//g' -e 's/;[\t ]*/;/g' -e 's/}[\t ]*/}/g' -e 's/\([^,\{;\}]\)$/\1;/g' -e 's/};/}/g' | sed -e :a -e '/[,;{][\t ]*$/{N;s/\n/ /;ba}' > /tmp/lala_css
mv /tmp/lala_css $1
Copy Code 

压缩规则较简单..

  • 删除注释
  • 删除不必要的空白
  • 删除window的utf BOM标记,删除win下的换行符
  • 每条规则压成一行
  • 0px -> 0

压缩效果如下,比yuicompressor差一点:

 72344 2009-12-01 19:57 layout.css
 69626 2009-12-01 19:52 layout-mini-sed.css
 68720 2009-12-01 19:56 layout-mini-yui.css

文件下载点这里:compress-css.zip