#!/bin/bash
#tar file and move soft directory
#time:2020/4/21 12:50
#author zengjiajie
#通过for i in遍历ls列表下每一个文件,要把这些文件获取到,前面要加$符号,然后逐个赋给i
for i in $(ls)
do
#${i##*.}是文件的后缀,如果后缀不是gz也不是sh也不是xz,那就执行删除
if [ "${i##*.}" != "gz" ] && [ "${i##*.}" != "sh" ] && [ ${i##*.} != "xz" ];then
echo "-------------delete $i start-------------"
rm -rf $i
echo "-------------delete $i complete----------"
#如果后缀是gz,那就执行解压并移动到soft目录
elif [ "${i##*.}" == "gz" ];then
echo "-----------tar $i starting------------------"
tar -xzf $i
echo "---------- tar $i complete------------------"
#通过basename去掉.tat.xz,再赋值给BASENAME
BASENAME=`basename $i .tar.gz`
if [ ! -d /soft/$BASENAME ];then
mkdir -p /soft/$BASENAME
cp -a $BASENAME /soft/
echo "copy $BASENAME is finish! "
fi
#如果后缀是xz,那就执行解压并移动到soft目录
elif [ "${i##*.}" == "xz" ];then
echo $i
tar -xzf $i
#通过basename去掉.tat.xz,再赋值给BASENAME
BASENAME=`basename $i .tar.xz`
if [ ! -d /soft/$BASENAME ];then
mkdir -p /soft/$BASENAME
cp -a $BASENAME /soft
echo "copy $BASENAME is finish!"
fi
fi
-- 插入 -- 1,1 顶端
Shell编程实例之批量解压以移动文件夹
最新推荐文章于 2023-06-27 23:06:47 发布
本文介绍了一个Shell脚本,该脚本用于遍历当前目录下的所有文件,根据文件后缀进行处理。非gz、sh和xz格式的文件将被删除,而gz和xz格式的文件则会被解压并移动到指定的soft目录下,同时创建相应的子目录。此脚本展示了如何使用条件语句、循环和文件操作命令。
9198

被折叠的 条评论
为什么被折叠?



