多数のプレーンテキストファイルの内容内で検索していますか?

多数のプレーンテキストファイルの内容内で検索していますか?

私の外付けハードドライブには、1,242,276個のプレーンテキストファイルを含むディレクトリがあります。完全に整理されておらず、ファイル名も意味のない数字です。その理由は、しばらく前に誤ってパーティションを消去した後、一部の回復ソフトウェアによってパーティションが回復したためです。

私は現在そのディレクトリにあり、「多面体」という単語のすべてのファイルの内容を検索しようとしています。試しましたがgrep失敗しました。

$ grep polyhedron ./* 
bash: /bin/grep: Argument list too long

このディレクトリにファイルが多すぎるからですか?この他にも検索したいキーワードがたくさんあります。今何ができるか知りたいです。

ベストアンサー1

find . -type f -print0 | xargs -0 grep polyhedron

用語が一致するファイルを同じ名前のフォルダにコピーするなどの操作を実行したい場合があります。

find . -type f -print0 | xargs -0 grep -l polyhedron | while read i; do cp "$i" ../polyhedron; done

一致する用語の間に重複する部分がないことがわかっている場合(つまり、単一のファイルに「多面体」と構成する他の用語がない)、コピーするmv代わりに移動できますcp

おすすめ記事