English help on website



grep文(Ver9.35対応版)
目次検索系文− grep文
grep文は、パラメータを指定してgrepを実行します。
grep "abc", "*.txt", ".", word;
パラメータ1(文字列型)
検索文字列を指定します。

パラメータ2(文字列型)
検索するファイルを指定します。
ワイルドカードの指定が可能です。

パラメータ3(文字列型)
検索するフォルダ(ディレクトリ)を指定します。
現在のフォルダを指定する場合は、"."または""を指定します。

パラメータ4以降(予約語 または 数値、省略可能)
検索のオプションを、以下の予約語をカンマ区切りで複数指定できます。
word
casesense または nocasesense
regular または noregular
fuzzy
hilight または nohilight
masknormal maskcomment maskifdef maskscript maskstring masktag maskonly
sjis unicode 等のエンコードの種類
subdir
icon
filelist
fullpath
outputsingle または outputsametab
unmatch
searchoption, encode, searchoption2相当の数値の指定も可能です。

結果コード
resultには見つかった個数が入ります。途中で中断された場合はresultは-1になります。
ダイアログでキャンセルした場合はresultは-2になります。
検索したファイルの数をgetresultexで取得可能です。


予約語パラメータについて
grepの予約語パラメータ
その他
正規表現文字列やファイル名の中で「\」を""で囲った文字列の中で指定する場合は、「\\」と指定しなくてはいけません。
例えば正規表現で「\n」(改行文字)を検索させたい場合は、マクロの中の文字列定数としては"\\n"と指定する必要があります。
または@""を使った文字列の書き方にすると書きやすいです。
参照:正規表現について
grep "#include", "*.cpp;*.c", @"c:\folder", regular;
フォルダが存在しない場合は、これ以上マクロを続行できないエラーとして扱われます。この場合disableerrormsgも効きません。
事前にフォルダが存在するかどうかをチェックするには、if( existfile( @"c:\folder\*.*" ) ){…} という感じで判定することができます。
検索文字列には上限があります。上限を超える可能性がある場合は事前に文字数をカウントして判断する必要があります。
参照:検索/置換文字列の上限について

grep
grepdialog
grepdialog2