< この記事をシェア >
Linuxで複数のファイルの中から特定の文字列を検索してファイル名を表示させる方法(コマンド)です。
サーバー内に複数のファイルがあり、その中から特定の文字列を探すときに使えるコマンドです。
自分があまりにもよく使うコマンドなのでメモ程度に書いています。
レンタルサーバーなどでもSSHさえ使えれば実行可能なコマンドなのでLinuxをちょっとでも操作する人は覚えておくと検索がラクになるコマンドですぜ。
また、findコマンド入力時に「そのようなファイルやディレクトリはありません」という表示が出た場合の対処方法も書いています。
【Linux】複数あるファイルの中から特定の文字列を検索してファイル名を表示させる方法(コマンド)
findコマンド+オプションを覚えておくと便利
find ./(探したいディレクトリ) -name ‘*.html(探したいファイル名)’ -type f -print | xargs grep ‘探したい文字列’
↑でOKです。
このコマンドを覚えておくと調査対象のファイルが大量にあっても文字列検索できるので便利です。
ワンセットで覚えておけばいいと思います。
例えば今いる以下のhtmlファイルから「hoge」を検索するコマンドだと↓となります。
find ./ -name ‘*.html’ -type f -print | xargs grep ‘hoge’
コマンド内訳
オプションなど
find | 「探す」コマンド コマンドの後ろに検索対象ディレクトリをつける |
---|---|
-name | 探したいファイル名 (ファイル指定ナシの場合、省略可) |
-type f | ファイルを探すという意味 dを指定でディレクトリ、lを指定でシンボリックリンクになる |
対象のファイルを見つけたら出力 | |
xargs | 標準入力からのコマンドライン作成 |
grep | 検索する文字列を指定 |
-nameでファイル名を指定しない場合「そのようなファイルやディレクトリはありません」という警告を吐く場合もあり
-nameでファイルタイプを指定せずに全検索をかけた場合「そのようなファイルやディレクトリはありません」という警告を吐き出す場合があります。
この場合は、-name ‘*.html’のようにファイルの拡張子ベースで検索対象を絞ったりしてみてください。
WordPress上のファイル検索はコレが便利
find ./ -name ‘*.php’ -type f -print | xargs grep ‘検索したい文字列’
WordPress上の文字列を探すときに自分はよく↑を使います。
WordPressは大半がphpで作成されているので-nameでphpだけを検索するというものです。
この検索方法であれば、.jpgや.pngのような画像などを検索対象から外すのでエラーも少なく検索も早いです。
Linuxで複数のファイルの中から特定の文字列を検索したい場合は↑のfindからオプションをつける方法を覚えておくと便利ですよー。
< この記事をシェア >
\\どうかフォローをお願いします…//
この【Linux】複数のファイルの中から特定の文字列を検索して記載のあるファイルを特定する方法(コマンド)の最終更新日は2016年10月27日です。
記事の内容に変化やご指摘がありましたら問い合わせフォームまたはusedoorのTwitterまたはusedoorのFacebookページよりご連絡ください。