當前位置:首頁 » 文件管理 » 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

熱點內容
資料庫10061 發布:2025-01-16 16:11:47 瀏覽:700
電腦網路ip地址怎麼配置 發布:2025-01-16 16:03:48 瀏覽:329
我的世界安卓網易版怎麼裝材質包 發布:2025-01-16 16:00:55 瀏覽:254
404頁面源碼 發布:2025-01-16 15:58:48 瀏覽:887
手機建行密碼忘記了怎麼辦 發布:2025-01-16 15:45:38 瀏覽:224
易語言視頻播放源碼 發布:2025-01-16 15:39:35 瀏覽:343
肇觀演算法 發布:2025-01-16 15:38:39 瀏覽:610
管家婆找不到加密狗 發布:2025-01-16 15:10:28 瀏覽:308
linux的etcfstab 發布:2025-01-16 15:00:43 瀏覽:364
電腦無法登錄內網伺服器 發布:2025-01-16 15:00:28 瀏覽:575