複数のテキストファイルから特定の文字列を検索する方法


複数のテキストファイルから特定の文字列を検索する方法複数のテキストファイルから特定の文字列を検索する方法。

参考url:
Linuxコマンド逆引き大全

テキスト・ファイルから特定の文字列を含む(論理)行を抜き出すには,「grep」コマンドを用いる。grepの後に検索したい文字列を指定し,さらにその後に検索対象とするファイルを指定する。

$ grep "Linux" target_file

検索結果は標準出力に出てくるので,検索結果をファイルに残したい場合はリダイレクトを用いる。

$ grep "Linux" target_file > result

また,正規表現を用いることにより,「yyyy/mm/dd」のフォーマットで表記されている日付も探せる。正規表現を用いる場合は,「-e」オプションを付ける。

$ grep -e "[0-9]{4}/[0-9]{2}/[0-9]{2}" target_file

応用:拡張子が”php”であるファイルについて,文字列”Linux”を探す

$ find . -type f -name "*.php" | xargs grep "Linux"

findで特定のファイルを絞り込んだ後に,「xargs」コマンドでファイル名のリストを作成し,grepでそれらファイルの検索を行う。

「xargs」コマンドについてはこちら

応用:検索する際,大文字・小文字を区別しない

$ grep -i "LiNuX" target_file

“Linux”,”linux”,”LINUX”など大文字・小文字を区別せずに検索結果として扱われる。

こちらの関連記事も合わせて読んでみては?:)

  1. UNIX系コマンド xargs の便利な使い方メモ
  2. CentOSにphpコンパイラのapcをインストール
  3. PHPで画像をリサイズ(ImageMagickとimagick) サンプル編
  4. Linux パス(PATH)の確認と設定方法:pathの追加
  5. PHPでアップロードされたファイルタイプのチェック方法(fileinfo, mime-type) サンプル編

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>