脚本实现构想
1、统计文件夹中压缩包的个数
2、根据压缩包的个数进行循环、提取每个压缩包名
3、判断每个压缩包的格式是gz还是bz2
4、根据包格式判断结果执行相应解压操作
脚本代码如下
1 #!/bin/bash
2 #author lideqian Email:1056230521@qq.com
3 #Unpack the packet
4
5 cd /tmp
6 ls *.tar.gz > tar.log 2> tar_error.log
7 ls *.tar.bz2 >> tar.log 2>> tar_error.log
8
9 sum=$(cat tar.log | wc -l)
10 #echo $sum
11 for((i=1;i<=sum;i++))
12 do
13 #echo $i
14 line=$(cat tar.log | sed -n ''$i'p')
15 judge_tar=$(echo $line | awk 'BEGIN{FS="."} {print $NF}')
16
17 if [ $judge_tar == "gz" ];then
18 tar -xzvf $line
19 elif [ $judge_tar == "bz2" ];then
20 tar -xjvf $line
21 fi
22 done
23
24 rm -rf tar.log
运行展示:
执行脚本前的内文件
执行脚本后目录内的文件
其他事项:
使用for的另一种格式for in会更简便