ディレクトリ下を参照

ディレクトリ下を参照

ツリーの6つのディレクトリにあるファイルに対していくつかの処理(コピーなど)を実行したいと思います。各ディレクトリレベルのディレクトリ名は完全に不規則であり(任意の数字と文字)、最後のレベルで私のファイルがあるディレクトリには約20のディレクトリがあります。

ケースの例:

cp /000157/DZW123/AHG345/DFR987/000RE7/0025RTZ/file.xxx  /destination/file.xxx

同じ場合、他の最後のレベル(19の異なるレベルがあります):

cp /000157/DZW123/AHG345/DFR987/000RE7/1298FGT/file.xxx  /destination/file.xxx

しかし、他の多くのケースでは全く異なります。

cp /001154/CVS456/SAQ452/FRO921/000VG5/0032RRT/file.xxx  /destination/file.xxx

状況が異なるため、屋根ふきは役に立ちません。名前がどのように指定されても、ツリー内の各ブランチの6つのディレクトリに直接移動できるソリューションがある場合は、これが一番良いと思います。 cd + nを試しましたが、うまくいきません。

答え1

findこのタスクに使用された

find / -mindepth 7 -maxdepth 7 -iname '*.txt' -exec echo cp {} /destination \;

*.txt必要に応じてパターンを修正しechoたり、画面に表示される内容が好きな場合は削除してください。

答え2

ディレクトリ構造の最後のレベルにファイルのみがあると仮定すると、以下のようにfindwithを使用してxargsファイルをコピーできます。

find . -type f -mindepth 7 -maxdepth 7 -print0 | xargs -0 cp -t /some/destination/directory

これは、サブディレクトリ名のスペースとファイル名のスペースにも当てはまります。

関連情報