特定のテキスト文字列を含むすべてのファイルを検索したいです。ターミナルでどうしますか?
特定のテキスト文字列を含むすべてのファイルを検索したいです。ターミナルでどうしますか?
回答:
grep -r 'text goes here' path_goes_here
man grep
grepのすべての素晴らしいオプションを発見することをお勧めします
No such file or directory
ます。テキストの出現のリストだけを取得しようとしています。どうすればそのリストを入手できますか?
grep -lr "text pattern" ./ -s
; grep -lr "text pattern" [PATH OF PARENT] -s
Ignacioの回答は素晴らしく、特定のテキストを含むファイルを見つけるのに役立ちました。私が直面していた唯一の問題は、このコマンドを実行すると、パターンが表示されなかったファイルを含むすべてのファイルが一覧表示されることでした。
No such file or directory
これは、パターンを含まないファイルと一緒に表示されるものです。
代わり-s
に、次のようにコマンドに追加する場合:
grep -lr "text pattern" ./ -s
; grep -lr "text pattern" [PATH DIRECTORY] -s
を使用すると、パターンを含むファイルのみが表示されます。
同様にgrep -nr "text pattern" ./ -s
、grep -nr "text pattern" [PATH OF DIRECTORY] -s
コマンドを使用すると、ファイルと行番号、およびパターンの出現が出力されます。
私の理解が間違っている場合は修正してください。
参照:grepで「No such file or directory」エラーを出力しないようにするにはどうすればよいですか?
grep ... 2>/dev/null
。このソリューションは、stdoutではなくstderrストリームでエラーメッセージを報告するため、ほとんどのプログラムで機能します。私は多くのファイルに対して許可が拒否さfind
れたと言うので、このソリューションを何度も使用しました。
No such file or directory
存在するファイルのメッセージを受け取っている場合は、何か間違っているか、システムが壊れています。(2)何と関係が[PATH OF PARENT]
ありますか?
[PATH OF DIRECTORY]
慣れていない人がなぜ私が入れたのか知りたいと思っていることを示すために./