サブフォルダーを含むフォルダーがあり、サブフォルダーにもサブフォルダーがあります。私は試した:
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
次の行を含む除外ファイルを使用してみてください。
*.msh
*.geo
コマンドは次のようになります。
tar -czvf cont.gz -X exclude-files.txt run-1/*
find
コマンドを使用して、除外するファイルのリストを作成することもできますが、これは少量のファイルに対してのみ適切に機能します。