在 Linux 上通過命令行解壓縮多個文件

如果您曾經必須提取大量 zip 文件,您就會知道這可能是一個乏味且耗時的過程。 但是在 Linux 和其他類似 UNIX 的發行版上,有一種更簡單的方法可以做到這一點。 在本文中,我們將向您展示如何使用一行代碼解壓縮多個 zip 文件。 那麼讓我們開始吧!

塔布拉的contenido

嘗試想到的第一個命令

假設文件名為 1.zip、2.zip、3.zip 等。 提取這些壓縮文件時想到的第一個命令是:

unzip *.zip

但是,當您運行該命令時,終端會為您提供以下輸出:

Archive:  1.zip
caution: filename not matched:  2.zip
caution: filename not matched:  3.zip
解壓多個文件時出錯

好吧,這不是它應該的樣子。 可能是什麼問題呢? 這將幫助我們更多地了解終端在 Linux 中的工作原理。

那是什麼問題呢?

當您使用通配符時

unzip 1.zip 2.zip 3.zip

在任何命令上,shell 都會擴展該命令並將結果傳遞給程序,而不是程序自己處理擴展。 這意味著我們之前的命令在運行之前實際上已擴展為以下內容:

這對您來說似乎很正常,因為當您以這種方式鍵入時,其他命令(如 mkdir)將創建三個單獨的文件夾。 但是 Unzip 的工作方式與此不同。 Unzip 會將上述命令解釋為提取 1.zip,然後在 1.zip 中,它會提取另一個名為 2.zip 的壓縮文件……對於第三個 zip 文件,依此類推。 我們不希望這樣,這就是它拋出錯誤的原因。

那麼正確的命令是什麼?

unzip '*.zip'
用正確的命令解壓

用正確的命令解壓

這就是我們必須做的! unzip 命令現在可以完美運行。

總結

我希望您已經了解了有關 shell 如何在終端中工作的新知識。 解壓縮多個文件的正確方法是在通配符前後簡單地添加 (')。 我希望你在做 shell 或 python 腳本時能記住這個小技巧。

相關文章