当前位置:首页 » 文件管理 » shell脚本解压缩

shell脚本解压缩

发布时间: 2022-07-01 18:10:34

Ⅰ 如何同shell脚本获取刚生成的文件并进行解压

#!/bin/sh
filename=$1
dirname=`basename $filename .tar.gz`
if [ -z $1 ];then
echo Usage $0 filename
exit 1
fi

scp [email protected]:/opt/$file /opt
cd /opt
tar zxf $filename
pushd $dirname
find . -type f -name "*.zip" -exec unzip {} \;
find . -type f -name "*.rar" -exec unrar {} \;
popd

Ⅱ shell脚本:需根据文件的大小进行压缩

sh -x yourshell
看看每个步骤
你的第一步就有问题了, file就是把目录下的文件全都列出来了,取第二列就是文件名了。怎么去和2000000比较???
tar也有问题,你压缩成什么?少了参数吧。。。
rm也有问题。你才压缩一个文件,就把整个目录干掉了、、、

find . -size +2M 这样不就把文件大于2M的弄出来了。。。仅供参考:
[root@localhost ~]# ls -sh a
27M a
[root@localhost ~]# find . -size +2M
./a
[root@localhost ~]# find . -size +2M -exec tar cjf /tmp/{}.tar.bz2 {} \;
[root@localhost ~]# ls /tmp/
a.tar.bz2

Ⅲ shell脚本压缩文件

#!/bin/bash
##for file zip and unzip
#date:2011/7/20

#input:current_filename
#use gunzip\bzip\tar commands to do this .
#two choices:pack||unpack

pack()
{
##use tar cmd to pack file
echo "Now will use tar to pack the file......"
echo "tar $CUR_FILE ......."
#sleep 1
tar -zcvf $CUR_FILE.tar.gz $CUR_FILE
if [ "$?" -eq "0" ];then
echo "pack file $CUR_FILE into tar.gz file ok~!"
else
echo "Error:Pack file into tar.gz failed~!"
exit 1
fi
}

unpack(){
##get file type
ftype=`file $CUR_FILE`
#echo file type
echo "Your file type is:###$ftype"
case "$ftype" in
"$CUR_FILE: Zip archive"*)
unzip $CUR_FILE
echo "unzip $CUR_FILE OK~!"
;;
"$CUR_FILE: gzip compressed"*)
gunzip $CUR_FILE
echo "gunzip $CUR_FILE OK~!"
;;
"$CUR_FILE: bzip2 compressed"*)
bunzip2 $CUR_FILE
echo "bunzip $CUR_FILE OK~!"
;;
*)
echo "File $CUR_FILE can not be uncompressed!!!"
exit 1
;;
esac

}

CUR_FILE="$1"
if [ -z $CUR_FILE];then
echo "Please input your filename!"
exit 1
else
echo "Your file name:$CUR_FILE"

##make target choice
echo "Which work you wanna do?"
select var in "pack" "unpack";do
break
done
echo "You selected $var file....."

case $var in
pack)
pack CUR_FILE
;;
unpack)
unpack CUR_FILE
;;
*)
echo "Usage:select option error!"
exit 1
esac
fi

linux shell批量解压脚本

全部解压?7za 格式必须有他专用的解压程序 7z。文件名不要包含空格。
for i in *.7za
do
mkdir -p "x/$i"
7z x "$i" -o"x/$i"

done

7z解压自动使用多cpu核心。4个解压文件一个一个解压比4个同时解压效率高。

Ⅳ shell脚本 把logs 目录下的每个文件夹 里面的文件都压缩

#/bin/bash
path=/corelogs/card_center/logs
folderlist=`ls $path|grep -v '^$'`
for i in $folderlist
do
cd $path/$i
filelist=`ls|grep -v '^$'`
for k in $filelist
do
zip -q -r $k.zip $k
done
done
##这是将所有log文件压缩在对应的日期目录下

Ⅵ SHELL脚本,解压缩指定目录下的ZIP文件到另一个目录下

#!/bin/bash
foriin$(ls/opt/bin/*.zip2>/dev/null)
do
unzip$i-d/opt/wep
done

Ⅶ shell脚本中为什么tar解压缩时灵时不灵

这个要看你的脚本是怎么写的
如果说她有时是好的,那就说明命令应该是ok的
那可能的原因就是是不是由于系统卡或者命令超时,导致你的tar失败

Ⅷ shell脚本--压缩一个文件里里面的所有log文件

logpath="ur_log_dir_path"
cd
$logpath
while
[
$(df
-Th
|awk
-F'[%
]'
'$NF~/\/$/{print
$(NF-2)}')
-gt
80
];do
let
num++
dir=$(ls
-lt|tail
-$num|head
-1|awk
'{print
$NF}')
cd
$dir
for
file
in
$(ls);do
[[
!
"$file"
=~
'.*\.zip'
]]
&&
gzip
--best
$file
&&
sleep
1
done
done
unset
num
会一直循环到磁盘空间小于80%,然后退出.
dfh的值我匹配的是根分区,如果你的是其他分区的话需要变动一下.

Ⅸ shell 批量压缩脚本

LINUX shell:
#/bin/bash
dirctory=目录
file=`ls -lct $dirctory|awk 'NR>1&&NR<=101{print $NF}'`
tar -rf file.tar $file
sleep 100(视文件大小而定)
rm -rf $file

Ⅹ shell脚本压缩解压

tar cjf /mnt/sdcard/tmp/1.tar /mnt/sdcard/TitianiumBackup/
tar xvf /mnt/sdcard/tmp/1.tar

热点内容
linuxoracle操作 发布:2025-01-16 12:40:50 浏览:44
河北存储服务价格 发布:2025-01-16 12:39:21 浏览:342
挂机服务器的搭建 发布:2025-01-16 12:34:07 浏览:414
安卓怎么删除信任凭证 发布:2025-01-16 12:22:06 浏览:335
代理编译 发布:2025-01-16 12:07:59 浏览:793
服务器为什么老是无响应 发布:2025-01-16 12:07:59 浏览:891
安卓怎么传软件到苹果 发布:2025-01-16 12:01:28 浏览:952
pythonforzip 发布:2025-01-16 11:59:46 浏览:909
磁感密码锁有多少钥匙 发布:2025-01-16 11:41:12 浏览:117
酷睿电脑配置怎么查看 发布:2025-01-16 11:27:26 浏览:563