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

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

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

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

答案1

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

*.msh
*.geo

该命令如下所示:

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

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

相关内容