📜  删除 tar 或 zip 文件中的文件 linux - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:36:54.750000             🧑  作者: Mango

删除 tar 或 zip 文件中的文件 - Shell-Bash

在linux中,tar和zip文件都是常用的归档和压缩文件类型。在进行文件管理时,有时我们需要从这些压缩文件中删除特定的文件。本文将介绍如何使用Shell-Bash从tar或zip文件中删除文件。

删除tar文件中的文件

删除tar文件中的文件需要使用Tar命令。以下是删除tar文件中文件的基本语法:

tar --delete -f filename.tar filename

其中,filename.tar是要删除文件的原始tar文件的名称,filename是要删除的文件的名称。注意,只能删除非压缩文件,也就是说,tar文件中的文件必须是未压缩的。

以下是一个示例,假设我们要从backup.tar文件中删除名为file1.txt的文件。我们可以使用以下命令:

tar --delete -f backup.tar file1.txt
删除zip文件中的文件

删除zip文件中的文件需要使用unzip命令。以下是删除zip文件中文件的基本语法:

unzip -d temp_dir filename.zip filename -x filename

其中,temp_dir是一个临时目录,在这个目录中我们会解压zip文件,filename.zip是要删除文件的原始zip文件的名称,filename是要删除文件的名称。

注意,-x选项指定排除,这样我们才能删除文件。这个选项对应的参数是要排除的文件列表。我们将要删除的文件名填入该列表。

以下是一个示例,假设我们要从archive.zip文件中删除名为file2.txt的文件。我们可以使用以下命令:

unzip -d temp_dir archive.zip file2.txt -x file2.txt
cd temp_dir
zip -r updated_archive.zip .

此命令将解压archive.zip文件到临时目录中的temp_dir,然后删除file2.txt文件并重新压缩更新后的zip文件updated_archive.zip

我们可以使用Shell-Bash脚本来实现更复杂的删除tar或zip文件中的文件的任务。在脚本中,我们可以遍历文件列表,根据指定的删除规则删除文件,然后重新压缩归档。这可以大大简化我们的工作。

希望这篇介绍对你有所帮助。