web-dev-qa-db-ja.com

Tar:サブフォルダー内の特定の拡張機能を除外します

サブフォルダーを含むフォルダーがあり、サブフォルダーにもサブフォルダーがあります。私は試した:

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

run-1のすべてのファイルとサブフォルダーを圧縮しますが、ファイルの拡張子はmshとgeoです。しかし、tarはそれらのファイルを追加し続けます。除外することを意図したファイルはrun-1にはありませんが、そのサブフォルダーの1つにあり、場所を明示的に指定したくありません。問題はどこだ?

編集:以下は、run-1の下にあるサブフォルダーの1つです。他のサブフォルダーも同様の構造です。また、すべてのサブフォルダーでmshフォルダーを除外しても問題ありません。

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

次の行を含む除外ファイルを使用してみてください。

*.msh
*.geo

コマンドは次のようになります。

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

findコマンドを使用して、除外するファイルのリストを作成することもできますが、これは少量のファイルに対してのみ適切に機能します。

2
harrymc