忍者ブログ

Linuxだからできないなんて言わないよ

ubuntuのインターフェイスがUnityになってからインストールしたアプリを覚えられなくなってしまったのでメモ。情弱ちゃんメモ。

grepコマンド ファイル内の文字列検索

文字列を検索してくれるgrepコマンド。
いろいろな使い方ができます。

有名というか、よく例に上がる使い方は

$ ps aux | grep -i ****

psコマンド(実行中のプロセスを表示)
オプション
a:自分以外のユーザーのプロセスも表示
u:ユーザー名を表示
x:デーモンプロセス等制御端末の割り当てのないプロセスも表示

このpsコマンドの結果をgrepコマンドに渡して
-i:大文字小文字を区別しない

結果として検索したプロセスのみを表示します。
例)
$ ps aux | grep -i leafpad
tetsuo    6315  0.4  0.1 570448 16636 ?        Sl   15:52   0:00 leafpad
tetsuo    6504  0.0  0.0  10408   928 pts/2    R+   15:53   0:00 grep --color=auto -i leafpad

赤色を付けた部分が求めていた結果。
その下の行はgrepコマンド自身のプロセス。

一番基本の使い方は
$ grep 検索文字列 ファイル名
例)
-i: 大文字小文字を区別しない。
$ grep -i pentium DOS_conf.txt
cpuid: stepping=3, vendor_string="GenuineIntel", brand_string="Intel(R) Pentium(R) 4 CPU"

-n: 行番号も出力。
$ grep -in pentium DOS_conf.txt
30:cpuid: stepping=3, vendor_string="GenuineIntel", brand_string="Intel(R) Pentium(R) 4 CPU"

複数のファイルも同時指定できます。
:1)ファイル名の頭にDOSと付くファイルから文字列検索。
$ grep -in pentium DOS*
DOS_conf.txt:30:cpuid: stepping=3, vendor_string="GenuineIntel", brand_string="Intel(R) Pentium(R) 4 CPU"
DOSrun:30:cpuid: stepping=3, vendor_string="GenuineIntel", brand_string="Intel(R) Pentium(R) 4 CPU"
"*"はワイルドカードの一つ。0文字以上の文字列にマッチ。

:2)検索したいファイル名をスペースで区切って入力してもOK。
$ grep -in usb DOSrun DOS_conf.txt
DOSrun:23:usb_uhci: enabled=0
DOSrun:24:usb_ohci: enabled=0
DOS_conf.txt:23:usb_uhci: enabled=0
DOS_conf.txt:24:usb_ohci: enabled=0


ちょっと応用
検索したいディレクトリの下に沢山のサブディレクトリがあって1つ1つファイルを指定していられない場合-r オプションを使います。
この場合結果の出力が多すぎて画面が流れてしまう事があるので、teeコマンドを併用して画面に出力しつつテキストファイルにも出力しておくのがイイかも。
$ grep -r 検索文字列 検索ディレクトリのパス

teeコマンドに渡す場合
$ grep -r 検索文字列 検索ディレクトリのパス | tee 検索結果(自分で決めたファイル名).txt

例)
$ grep -inr ja_JP* . | tee grep_ja_JP.txt

ja_JPで始まる文字列をカレントディレクトリ"."から探して、結果を画面に出力と同時にファイルとしても出力します。

出力する結果が多いと画面が流れていってしまって何がなんやらです。



$ grep --helpの出力結果から引用

正規表現の選択および解釈:
  -i, --ignore-case         大文字と小文字を区別しない

出力の制御:
  -n, --line-number         出力行と併せて行番号を表示する
  -r, --recursive           like --directories=recurse




人気ブログランキングへ
PR

この記事へのコメント

Vodafone絵文字 i-mode絵文字 Ezweb絵文字
管理人のみ閲覧できます
 

プロフィール

HN:
tetsuo / tenten909
性別:
非公開
職業:
PC管理とグラフィック
趣味:
ねことゴロゴロ
自己紹介:
ゲーム製作系からコンピュータ管理系な仕事にジョブチェンジ。

ブログ内検索

音楽CD

さユり supercell EGOIST

忍者PR

Linux書籍


小さな会社の新米サーバー

インフラ担当者のためのLinuxの常識


はじめてのCentOS7 Linuxサーバ構築編

日経Linux 2015年06月号


Windows→Ubuntu乗り換え

100%活用ガイド (100%ガイド)

気になるアイテム


Nexus 7 Wi-Fi 32GB 2013


誰でもできる!

Raspberry Piで楽しもう


PQI Air Pen


PC自作の鉄則! 2015


俺妹

黒猫 ワンピースver.


佐々木希写真集「ささきき」


やはり俺の青春ラブコメはまちがっている。10.5

渡 航


「合う・合わない」で仕事は決めなさい

ASUS

Copyright ©  -- Linuxだからできないなんて言わないよ --  All Rights Reserved

Design by CriCri / Photo by momo111 / powered by NINJA TOOLS / 忍者ブログ / [PR]