[英]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.