用shell脚本压缩html,css,js文件

更多技术文章请关注:http://www.vimkid.com

#!/bin/bash

echo "=============== kid_front Frame Shell ================"

echo "  kid_front Frame Script"

echo " "

echo " This is a compress shell of css html javascript"

echo " "

echo "============ By Vimkid: www.vimkid.com ==============="

read -p " ^_^ Please input the directory :" directory

# 常量

home="/var/www/kid_front"  # 项目目录

suffix="compress"  # 后缀

# copy到一个新文件夹

cd $home  # 进入框架目录

rm -rf $directory"_"$suffix  # 删除旧有的压缩目录

cp -R $directory $directory"_"$suffix  # 拷贝项目到压缩目录

# 压缩html文件

    cd $home

    cd $directory"_"$suffix

    sed -i 's/^[ \t]*//g' *.html  # 删除行头空格及tab

    sed -i 's/[ \t]*$//g' *.html  # 删除行尾空格及tab

    sed -i '/^\s*$/d' *.html  # 删除空行

    sed -i ':t;N;s/\n//;b t' *.html  # 合并多行到一行

# 压缩css文件

    cd $home

    cd $directory"_"$suffix"/assets/css"

    sed -i 's/^[ \t]*//g' *.css  # 删除行头空格及tab

    sed -i 's/[ \t]*$//g' *.css  # 删除行尾空格及tab

    sed -i '/^\s*$/d' *.css  # 删除空行

    sed -i ':t;N;s/\n//;b t' *.css  # 合并多行到一行

# 压缩javascript文件

    cd $home

    cd $directory"_"$suffix"/assets/js"

    sed -i 's/^[ \t]*//g' *.js  # 删除行头空格及tab

    sed -i 's/[ \t]*$//g' *.js  # 删除行尾空格及tab

    sed -i 's/:\/\//:--kidfix--/g' *.js  # 排除http://  ftp:// sftp://  https:// ,替换法

    sed -i 's/\/\/.*//g' *.js    # 删除//注释

    sed -i 's/:--kidfix--/:\/\//g' *.js  # 排除http://  ftp:// sftp://  https:// ,替换法,替换回

    sed -i '/^\s*$/d' *.js  # 删除空行

    sed -i ':t;N;s/\n//;b t' *.js  # 合并多行到一行

你可能感兴趣的:(用shell脚本压缩html,css,js文件)