SSブログ

Windows7でgrepを使う [開発環境]

フレームワークなどの膨大なファイルから必要な文字列を所在を検索するために、Linuxではgrepコマンドが使われる。これをWindows7上で行う方法を調べた。

1. cygwinのダウンロードとインストール

このサイトから"setup.exe"をダウンロードします。

image

setup.exe を起動します。

image

image

インストール先を”e:\cygwin”に変更しました。ここは各自の環境により変更してください。

image

image

インターネットへの接続方法を指定します。

image

日本のサイトを選びました。

image

パッケージの選択画面です。あとから変更可能なので、ここではデフォルトのまま進みます。

image

image

完了です。

image

2. Cygwinの確認

デスクトップにできたCygwinアイコンを起動します。

image

grepのバージョンを確認してみる。

image

3. Cygwinを使う

① cドライブにアクセスする。

“mount”コマンドで現在のマウントポイントを確認する。

image

cドライブは、”/cygdrive/c”にマウントされている事がわかる。

cドライブへ移動し、”ls”コマンドでファイル内容を確認してみる。

image

“c:\”のファイルが確認できている。

② フォルダ移動

grepしたいディレクトリに移動する。スペースや()等の特殊記号が含まれるホルダーへの移動は記号の前に”\”を追加します。例えば、

”c:\Progeam Files (x86)” へ移動する場合、以下と記述します。

$ cd c:\Program\ Files\ \(x86\)




image



③ grepする



書式



$ grep [オプション] パターン ファイル



◆ <INtime>フォルダー以下にあるファイル群から”BEFORE_INIT”を含むファイルを探すには。




$ grep –n –r BEFORE_INIT INtime




◆ ヘッダーファイルのみを対象に検索する場合。




$ find INtime –name  *.h | xargs grep –n –r BEFORE_INIT




xargs はfind で見つかった全ファイルのパスを、一度に grep に渡している。



オプションは




-b:行のブロック番号をつける
-c:パターンに一致した行の行数のみを出力する
-h:複数ファイルを指定した際にファイル名を出力しない
-i:大文字小文字を区別しない
-l:パターンに一致した行を含むファイル名だけを出力する
-n:パターンに一致した行のファイル内での行番号を出力する
-s:エラーメッセージのみを出力する
-v:パターンに一致しない行のみを出力する
–color:一致文字列に色を付ける
-o:一致した文字列だけを出力する
-r:特定ディレクトリ以下を再帰的に検索する


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。