Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 使用sed解压样式表_Css_Regex_Bash_Sed_Compression - Fatal编程技术网

Css 使用sed解压样式表

Css 使用sed解压样式表,css,regex,bash,sed,compression,Css,Regex,Bash,Sed,Compression,我将样式表压缩为一行,使用 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" -

我将样式表压缩为一行,使用

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条目有缩进和额外的;'我想您正在寻找CSS格式化程序。网上有很多。例如。如果您必须从shell执行此操作,我会生成另一个程序来执行繁重的操作。这就行了。

我不明白这怎么可能。将所有内容放在一行中会删除有关过去在多行中的方式的信息。有多种方法可以将信息放在多行上。如果你只选择一个,它不一定是原始的。重复的问题区域——你真正想做的是缩小CSS,同时重新排序规则以获得更好的gzip压缩。作为一个
sed
粉丝,将问题添加到收藏夹中进行分析,我什么时候有心情去!@#$让我开动脑筋。省去你自己的麻烦,下载一个css缩微器和压缩程序