ファイル収集[閉じる]

ファイル収集[閉じる]

C1私はそれぞれ4つの異なるファイル(、、、、C2C3を含む多くのサブディレクトリを持つ大きなディレクトリを持っていますC4

私が望むのは、同じサブディレクトリを収集しますが、C1その中にファイル()が1つしかありません。したがって、要点は、他のファイル(、、、C2)を削除し、同じディレクトリ階層を維持することです。C3C4

非常に大きなホームディレクトリがあるため、これを手動で実行することは不可能であるため、これを行うための簡単なスクリプトが必要です。単純な場合のディレクトリ構造は sampling/time'i'/C'j' です。ここで、i = 0.0001:10、j = 1:4

私のクラスタにこのケースがあります。

答え1

新しいフォルダ名が次のと仮定し、親フォルダをバックアップします。parentbackup

cp parent parentbackup

それから

find parentbackup -type f -not -name C1 -exec rm {} \;

または正規表現を使用してください

find parentbackup -type f -regex 'C[^1]' -exec rm {} \;

親ディレクトリを変更できる場合は、次の手順を実行します。

編集する

find /path/to/parent -type f -regex 'C[^1]' -exec rm {} \;

関連情報