簡體   English   中英

如何使用終端在 Linux 中使用只有 .txt 擴展名的文件創建 zip 存檔

[英]How to create zip archive with files with only .txt extension in Linux using terminal

我有包含這些文件的目錄“文檔”:

文件1.txt。

文件2.txt

索引.html

索引.php

腳本文件

我想使用終端創建名為 files.zip 的 zip 存檔,只有 .txt 擴展文件。 我該怎么做?

在基本級別,如果您位於文件所在的同一目錄中,則可以執行以下操作:

zip files.zip *txt

如果你想用.txt擴展名壓縮文件,通過給出絕對路徑,如果它們在Documents目錄中,這將在你所在的當前目錄中創建files.zip

zip files.zip /the/path/to/Documents/*txt

如果您還希望此壓縮文件位於Documents文件夾中,則應將其指定為:

zip /the/path/to/Documents/files.zip /the/path/to/Documents/*txt

現有答案的附加組件,如果您要添加到現有的 zip 存檔,請注意zip存檔inpath中的同名條目。 來自man zip

命令格式。 基本命令格式為

 zip options archive inpath inpath ...

其中 archive 是一個新的或現有的 zip 存檔,inpath 是一個目錄或文件路徑,可選地包括通配符。 當給定現有zip 存檔的名稱時,zip將替換zip 存檔中相同命名的條目(匹配存檔中存儲的相對名稱)或為新名稱添加條目。 例如,如果 foo.zip 存在並包含 foo/file1 和 foo/file2,並且目錄 foo 包含文件 foo/file1 和 foo/file3,則:

 zip -r foo.zip foo

或更簡潔地

 zip -r foo foo

將替換 foo.zip 中的 foo/file1 並將 foo/file3 添加到 foo.zip。 此后,foo.zip 包含 foo/file1、foo/file2 和 foo/file3,其中 foo/file2 與之前相同。

所以如果在 zip 命令執行之前 foo.zip 有:

 foo/file1 foo/file2

和目錄 foo 有:

 file1 file3

然后 foo.zip 將具有:

 foo/file1 foo/file2 foo/file3

其中 foo/file1 被替換,foo/file3 是新的。

試一試:

zip only-txt.zip `find . -name "*.txt"`

這將創建一個名為only-txt.zip的 zip 文件,其中包含您運行命令的目錄中的所有*.txt文件,注意這將在目錄的所有子文件夾中遞歸搜索 *.txt 文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM