ファイル名(または本文)に文字列を含む複数のファイルを見つけて、すべて特定のフォルダに移動するにはどうすればよいですか。

ファイル名(または本文)に文字列を含む複数のファイルを見つけて、すべて特定のフォルダに移動するにはどうすればよいですか。

仮説 - ファイル名に「heavengames」という単語を含む複数の個々のディレクトリにあるすべてのHTMLファイル(2番目の質問で、本文に「heavengames」という単語を含むすべてのHTMLファイル)を名前に移動するにはどうすればよいですか?新しいディレクトリを作成したい場合はどうすればよいですか? 「パラダイスゲームスレッド」?

ベストアンサー1

名前にこの単語を含むファイルを移動するには:

find /path/to/dir1 /path/to/dir2 /and/so/on -type f -iname "*heavengames*" \
-exec mv -t /path/to/heavengames-threads {} \+

テキストに単語を含むファイルを移動するには:

find /path/to/dir1 /path/to/dir2 /and/so/on -type f -exec grep -q heavengames {} \; \
-exec mv -t /path/to/heavengames-threads {} \+

PS:すべてが正しいことを確認するには、最初の実行時にechobeforeを追加してください。mv

おすすめ記事