私の外付けハードドライブには、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
。