#!/bin/bash
echo '' > pkg_nm.log
ls /root/tar/*.tar.gz > pkg_nm.log
ls /root/tar/*.tgz >> pkg_nm.log
ls /root/tar/*.tar.bz2 >> pkg_nm.log
ls /root/tar/*.zip >> pkg_nm.log
#这样就会把所有的文件名保存到pkg_nm.log 文件中
for file in `cat pkg_nm.log` #for file in $(cat pkg_nm.log)
do
filename=$(basename "$file")
fname="${filename%.*}"
echo "Input File: $file"
echo "Input File: $filename"
echo "Input File: $fname"
if [[ $file == *gz ]]
#判断$file的值是gz结尾,就用gz解压缩
then
tar -zxvf $file -C /root/depress/ >> /dev/null
elif [[ $file == *bz2 ]]
#判断$file的值是bz2结尾,就用bz2解压缩
then
tar -jxvf $file -C /root/depress/ >> /dev/null
elif [[ $file == *.zip ]]
#判断$file的值是.zip结尾,就用unzip解压缩
then
unzip $file -d /root/depress/ >> /dev/null
else
echo "没有需要解压的压缩包文件!!"
fi
done
shell脚本实现文件批量解压
最新推荐文章于 2024-08-17 22:35:31 发布