検索コマンドのメモ

  • grep ファイル内文字列の検索

形式
grep (option) [keyword] filename


使いそうなオプション
-i:大文字と小文字を両方検索
-l:ファイル名のリストのみ出力
-r:ディレクトリ以下も再帰的に検索


(例)
$grep hoge hoge.txt
hoge.txtに"hoge"があるか探す


$grep -l -r -i vector *
"vector"を含むファイルがあるか探す.
検索対象は実行した階層以下のすべてのファイル.
"vector"の文字は大文字小文字を区別しない.


(参考)
http://www.k-tanaka.net/unix/grep.html



  • find ファイルの検索


形式
find [directory] (option)


使いそうなオプション
-name [name] ファイル・フォルダ名指定
-print 標準出力
-type d ディレクトリ検索
-type f ファイル検索
-type l シンボリックリンク検索
-exec [command] {} \; コマンド実行


正規表現の注意
-nameでつかう任意の文字列は"\*"("*"ではない).


$find * -name \*.c
.cファイルの検索


$find * | wc -l
階層以下のファイル数表示.


$find * -exec wc {} \;
階層以下のファイルそれぞれの文字数情報をすべて表示.


$find . -name \*.\* -print | xargs grep -l ab
abを含む拡張子付きファイルの表示.