[例子]Linux下shell批处理文件的几种方法

4 篇文章 0 订阅
附上网友们总结出来的方法如下(以批量解压tar文件为例):

第一:

for tar in *.tar.gz; do tar xvf $tar; done

for tar in *.tar.bz2; do tar xvf $tar; done

第二:用tar命令批量解压某个文件夹下所有的tar.gz文件

ls *.tar.gz | xargs -n1 tar xzvf

第三:find -maxdepth 1 -name “*.bz2″|xargs -i tar xvjf {}
这条命令可解压当前目录下的所有bz2文件,maxdepth表示搜索深度,1代表只搜索当前目录

第四:for i in $(ls *.tar);do tar xvf $i;done

以上,第二个方法最为简单明了!

再附上第四种,附上批量压缩静态文件(js、css)成tar.gz:

此脚本 好处是判断文件修改时间,不重复生成

find ./ -type f -printf ‘%TY %Tm %Td %TH %TM %TS\t%p\n’ \
| grep -iE ‘\.(html|txt|css|js)$’ \
| awk -F’\t’ ‘{

gz_file=$2 “.gz”;
stat_cmd=”stat -c \”%Y\” ” gz_file;
exist_cmd=”[  -e \"" gz_file "\" ] && echo 1 || echo 0″;

exist_cmd | getline gz_file_exist;

if (gz_file_exist) {
    stat_cmd | getline last_modify_timestamp;
} else {
    last_modify_timestamp=0;
}

if (last_modify_timestamp < mktime($1)) {
    system(“gzip -c9 ” $2 ” > ” gz_file);
    print gz_file ” [created]“;
}

}’

此脚本结合nginx的gzip static模块使用,编译时加上--with-http_gzip_static_module

nginx.conf中加上:

    sendfile on; # 最好打开这个sendfile
    gzip  on;
    gzip_static on;
    gzip_http_version 1.0;
    gzip_disable "MSIE [1-6]\.";
    gzip_vary on;
    gzip_comp_level 2;
    gzip_min_length 1024;
    gzip_buffers 4 16k;
    gzip_types text/plain html application/x-javascript text/css;



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值