C1
私はそれぞれ4つの異なるファイル(、、、、C2
)C3
を含む多くのサブディレクトリを持つ大きなディレクトリを持っていますC4
。
私が望むのは、同じサブディレクトリを収集しますが、C1
その中にファイル()が1つしかありません。したがって、要点は、他のファイル(、、、C2
)を削除し、同じディレクトリ階層を維持することです。C3
C4
非常に大きなホームディレクトリがあるため、これを手動で実行することは不可能であるため、これを行うための簡単なスクリプトが必要です。単純な場合のディレクトリ構造は 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 {} \;