Tar:排除子文件夹中的某些扩展名


2

我有一个文件夹,其中包含子文件夹,子文件夹也包含子文件夹。我试过了:

tar --exclude='*.msh' --exclude='*.geo' -czvf cont.gz run-1/*

压缩run-1中的所有文件和子文件夹,但压缩具有msh和geo扩展名的文件。但是tar仍在继续添加这些文件。要排除的文件不在run-1中,而是在其中一个子文件夹中,我不想明确指定位置。问题出在哪儿?

编辑:下面是run-1下的子文件夹之一。其他子文件夹具有类似的结构。我也可以在所有子文件夹中排除msh文件夹。

run-1
  |-np-8
      |-nmesh-3
        |-ncell-1
          |-bunch of files
          |-msh
            |-bg.msh
            |-bg.geo

请问您能用示例树更新您的问题吗?概述您想要包含哪些文件,以及要排除哪些文件?
Attie

Answers:


2

尝试使用包含行的排除文件:

*.msh
*.geo

该命令可以如下所示:

tar -czvf cont.gz -X exclude-files.txt run-1/*

你也可以使用 find 命令创建要排除的文件列表, 但这只适用于少量文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.