ディレクトリ内のファイルを一括移動


特定のファイル拡張子を持つディレクトリ内の何千ものファイルを別のディレクトリに移動することは可能ですか？たとえば、.cppディレクトリと.hppディレクトリがあります。
.cppディレクトリ内のすべての.hppファイルを.hppディレクトリに移動します。 `mv ** / *。hpp / path / to / single
/ target / directory`を使おうとすると、それほど多くのファイルを扱うことができないと言われます。




`find` コマンドの `-exec` オプションが使えます。ただしサブディレクトリへ移動しようとしている場合の挙動は自明ではないのでご注意ください。

[code]

    find <探索元ディレクトリ> -type f -name "*.hpp" -exec mv {} <移動先ディレクトリ> \;
    
[/code]

または GNU 版の mv だと下のようにも書けます。

[code]

    find <探索元ディレクトリ> -type f -name "*.hpp" -exec mv --target-directory=<移動先ディレクトリ> {} +
    
[/code]

