额,如果不考虑用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
压缩规则较简单..
- 删除注释
- 删除不必要的空白
- 删除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

sed是啥…好高级
不用java的话,closure-compiler的page speed插件还不错~
2009年12月3日 @ 00:37
是linux下面的文字处理软件,呵呵,很强大,哈哈.不过仅仅用正则还是不够智能,不能缩写一些规则.恩,我们已经决定用yuicompressor了~
2009年12月3日 @ 08:51