解壓多層目錄下所有的壓縮文件

一、背景介紹


  • 最近領(lǐng)導(dǎo)給了一批文件,都是壓縮文件,且解壓出來(lái)還有可能包含壓縮文件,手工解壓實(shí)在是難以忍受,后來(lái)寫(xiě)了一個(gè)腳本來(lái)自動(dòng)解壓縮,但是腳本只是簡(jiǎn)單的遍歷當(dāng)前目錄下所有的壓縮文件并解壓,并不能遞歸的解壓縮,所以還需要手動(dòng)切換目錄,尋找壓縮文件,然而,解壓后新的目錄還有可能出現(xiàn)壓縮文件。以下是之前的解壓縮腳本:

  • [root@master 國(guó)內(nèi)字典]# cat un.sh 
    #! /bin/sh
    
    for file in ./*.rar
    do
        if [ -f "${file}" ];then
            rar x "${file}"
        fi
        if [ $? == 0 ];then
            rm -f "${file}"
        fi
    done
    
    for file in ./*.7z
    do
        if [ -f "${file}" ];then
            7za x "${file}"
        fi
        if [ $? == 0 ];then
            rm -f "${file}"
        fi
    done
    
    for file in ./*.zip
    do
        if [ -f "${file}" ];then
            unzip "${file}"
        fi
        if [ $? == 0 ];then
            rm -f "${file}"
        fi
    done
    
    for file in ./*.gz
    do
        if [ -f "${file}" ];then
            gunzip "${file}"
        fi
        if [ $? == 0 ];then
            rm -f "${file}"
        fi
    done
    
    
  • 后來(lái)學(xué)習(xí)了遞歸遍歷目錄的shell腳本,所以這件事情也可以由遞歸遍歷目錄的方式來(lái)做。這里就不多說(shuō)了,本文介紹另一種方法。

二、利用find命令尋找并解壓壓縮文件


  • 其實(shí)我們可以簡(jiǎn)單的利用find名令來(lái)找出現(xiàn)在所有的壓縮文件,然后使用解壓軟件解壓,解壓后再使用find尋找壓縮文件來(lái)解壓,如此循環(huán)執(zhí)行,知道找不到壓縮文件為止。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容