shell文本处理——最基本方法压缩js文件
来源:互联网 发布:工业机器人编程语言co 编辑:程序博客网 时间:2024/06/05 04:54
关于javascript代码文件的压缩在之前的文章中提到过(http://blog.csdn.net/u010487568/article/details/19701575),一般来说有三种方式:
- 仅压缩空白、注释等字符(最基本方法)
- 压缩空白、注释并替换变量名
- 压缩恐怖、注释、替换变量名,同时最小化文件所有的单词
最近在进一步学习shell,对这个古老的工具越发的感到高效便捷,因此对于这个主题实现了shell版本的最基本方法的实现。
主要的策略如下:
- 去除单行注释
- 去除换行符和制表符
- 压缩多个空格为单个
- 去除多行住处内容
- 将“ (”、“ )”、 “{ ”、“ }”、 “ ; ” 、“ : ” 、“ = ”等字符两侧空格去除
具体实现如下:
##!/usr/bin##########################################################Filename: compreee-js.sh#Author : Oshyn Song#Time : 2014-8-19#Desc : compress the javascript file by basic method########################################################if [ $# -ne 1 ];then echo "Usage: sh $0 js-filename"; exit;fijsfile=$1;echo "Compress $jsfile start ..."; cat -s $jsfile | \ sed 's!//.*$!!g' | \ tr -d '\n\t' | \ tr -s ' ' | \ sed 's!/\*.*\*/!!g' | \ sed 's! \?\([+=\!&%$\*\|><{}();,:]\) \?!\1!g' > "compress.${jsfile}";echo "process finished.";
测试如下:
原生代码
;(function(){function __(id){return document.getElementById(id);}function Ajax(options){if (typeof XMLHttpRequest == 'undefined'){XMLHttpRequest = function(){return new ActiveXObject(navigator.userAgent.indexOf('MSIE 5') >= 0 ?'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP');};}..........压缩后代码:
;(function(){function __(id){return document.getElementById(id);}function Ajax(options){if(typeof XMLHttpRequest=='undefined'){XMLHttpRequest=function(){return new ActiveXObject(navigator.userAgent.indexOf('MSIE 5')>=0 ?'Microsoft.XMLHTTP':'Msxml2. XMLHTTP');};}.......
0 0
- shell文本处理——最基本方法压缩js文件
- 09 shell基本文本处理
- Linux Shell 脚本应用——awk文本处理文件
- ubuntu之shell编程学习笔记5——基本文本处理
- shell编程笔记-基本文本处理
- shell学习笔记—文本处理
- linux shell基本文件处理
- Linux Shell处理文本最常用的工具大盘点
- 自学笔记——shell(文本处理工具)
- Linux Shell编程(23)——文本处理命令
- Shell脚本学习指南(四)——文本处理工具
- js文件上传—图片压缩
- 一个最基本的CSS文件处理
- 并发处理数据最基本的方法
- 《js—基本方法--01》
- EXT 瘦身方法 之 压缩.js文件
- shell文本处理
- shell 文本处理
- 黑马程序员——C语言基础(交换2个变量的值)
- 简易的仿微博发布的效果
- ASP.NET 之 防SQL注入篇
- 序列化机制
- T-SQL系列之所有数据库备份情况(MSSQL)
- shell文本处理——最基本方法压缩js文件
- redisCommand接口的用法--利用hiredis库获取MGET命令的结果的坑!
- LeetCode | Recover Binary Search Tree(恢复二叉搜索树)
- Employment Planning (HDU 1158)
- G610客户端模式(G610-A50-00)流程解析
- PHP文件缓存内容保存格式
- opencv 在picture control 上显示视频
- 在图形界面上显示文本信息2.1
- 两个有序数组求中位数