再帰ディレクトリから特定の名前のフォルダを抽出し、他のフォルダを削除するにはどうすればよいですか?

再帰ディレクトリから特定の名前のフォルダを抽出し、他のフォルダを削除するにはどうすればよいですか?

zipファイルを解凍した次のディレクトリツリーがあります。

x -> y -> z ->走る-> ファイルとディレクトリは次のとおりです。

したがって、4つのディレクトリがあります。そのうちの3つは空のファイル(x、y、z)で、サブディレクトリは1つだけ含まれています。そして私が興味を持っているディレクトリは」走る」。

「実行」ディレクトリ自体(その中のすべての項目を含む)を解凍した「ルート」の場所(たとえば「x」はありますが、「x」の内部ではない)に移動したいと思います。

仮定:はい存在する"run"というフォルダがありますが、フォルダに到達するために "cd"する必要があるディレクトリの数はわかりません(おそらく3(x、y、z)、たぶん10個以上)。名前も不明で、フォルダには含まれません。 x、y、zなどである必要はありません。)

どうすればいいですか?様々なバリエーションを試しましたこの問題しかし、彼らはすべて失敗しました。

ベストアンサー1

何について

  find . -type d -name run -exec mv {} /path/to/X \;

どこ

  • /path/to/X はターゲットディレクトリです。
  • 同じ場所から始めます。
  • 次に、別の答えを使用して空のディレクトリを削除します。

(BTW --junk-paths、圧縮または解凍時にzipオプションがあります)

おすすめ記事