shell批量逐个解压压缩文件

前言

首先,我们先了解一下归档文件和压缩文件,如下:

归档文件:是将一些文件或目录,存储在一个文件中,其文件大小,等于其里面需要归档的各个文件和目录的总和。

压缩文件:是将一些文件或目录,压缩到一个文件中,其文件大小,远小于其里面需要压缩的各个文件和目录的总和,故占用更少的磁盘空间。

常用的压缩与解压有如下:

压缩工具 扩展名 解压工具
gzip .gz gunzip
bzip2 .bz2 bunzip2
zip .zip unzip

背景

nginx里面的文件是按照日期进行分割,需要获取里面的日志文件进一步分析。手动解压太耗费人力物力。

工具

脚本可实现逐个批量解压压缩文件

1
2
3
4
5
6
7
8
9
10
#!/bin/sh
cd 日志存放目录
ls *.gz > ls.log
data=`cat ls.log`
for i in $data
do
echo ${i}
gunzip -c $i > 新日志存放目录/logs/"${i}.log" & > /dev/null
done

  1. “日志存放目录”修改为压缩文件存放的目录
  2. .gz压缩文件格式可以按照需求调整
  3. “新日志存放目录”按照实际需求修改
Author: suce
Link: https://haoubox.cn/2021/03/30/shell批量逐个解压压缩文件/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.