• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

Linuxコマンド逆引き大全

【 ファイルから文字列を検索する 】

2006/02/28 日経Linux

 Linuxのコマンドを「やりたいこと」でまとめました。「やりたいこと」を実行するためのコマンドと使用例を掲載しています。コマンドの基本を学びたい方は「Linuxコマンド道場」を参照ください。ファイルの操作からテキスト・ファイルの処理方法まで,例題に基づいて学べます。

 Linuxコマンド逆引き大全
コマンド集(機能別) | コマンド集(アルファベット順) | コマンド逆引き大全 | シェル・スクリプト・リファンレス

 ファイルから文字列を検索する
$ grep "Linux" target_file

 テキスト・ファイルから特定の文字列を含む(論理)行を抜き出すには,「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

 詳しくは「どのような正規表現があるのか」を参照のこと。


 応用:「Linux」という文字列が何行存在するかを調べる
$ grep -c "Linux" target_file

 応用:「2004年」という文字列が存在しない行を調べる
$ grep -v "2004年" target_file

 応用:拡張子が"txt"であるファイルについて,文字列"Linux"を探す
$ find . -type f -name "*.txt" | xargs grep "Linux"

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


 応用:検索する際,大文字・小文字を区別しない
$ grep -i "LiNuX" target_file

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


あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

設計/開発

サーバー/ストレージ

ネットワーク/通信サービス

セキュリティ

もっと見る