HIR-NETソフト ソフト一覧 パック商品 価格表 取扱店 Q&A ダウンロード 無料バージョンアップ ユーザー登録変更
HIR-NET Home 運営者 運営者著書 CG作品 快適パソコン操作術 パソコン情報リンク集


HIR-NETソフト 32bitコマンド・シリーズ
srhサーチ 第1.31版
ファイル内容検索コマンド

file search command

対象OS:32bit Windows(Windows 95/98/Me/NT/2000/XP など)

★2010年9月9日更新★
サンプル無料ダウンロード srh.lzh(70Kバイト)
 

概要 引数 解説 注意 ファイルとディレクトリの指定方法 改行の判断 設定ファイル 使用例 実行例 関連


 
 ファイル名表示・非表示など柔軟な各種検索機能   

 srhコマンド(ファイル内容検索コマンド)はファイルの中にある文字列を検索する 32bit Windows(Windows 95/98/Me/NT/2000/XP など)用ソフトウェアです。
 ファイル名はもちろん、検索文字列にもワイルドカードが使えます。また、ワイルドカードでない検索も出来ますから、記号を含んだ文字列の検索も簡単です。
 サブディレクトリ処理はもちろん、処理するファイルをディレクトリ, 識別子, 属性, 日付, サイズ等によって対象外にしたり限定したり出来ます。
 検索結果行の先頭にファイル名を付けることも、付けないことも出来ます。UNIX の grep(グレップ)コマンドでは、複数ファイルを検索すると、各行の先頭にファイル名が必ず付いてしまいます。
 検索文字列を含んだ行数の表示の他、検索文字列の出現回数を表示することも出来ます。
 検索結果の表示を1ページ(通常24行)毎に一時停止させることも出来ます。仮に一時停止指定がされていても、標準出力をリダイレクトした場合は自動解除されます。
 1行のバイト数が指定でき、仮にバイト数を越えた行を含んだファイルがあっても、必要なオプション指定を表示しますので、データの取りこぼしがありません。UNIX の grepコマンドでは、取りこぼされてしまいます。
 改行コードは、0A, 0D, 0D0A に対応しています。ログ・ファイル出力機能がありますから、大量のファイルを処理する時も便利です。
 設定ファイル(ファイル名 srh.cfg のテキスト・ファイル)により、srhコマンドのオプション設定の登録が可能です。

 
 srhコマンドの引数   引数表記方法   

srh □ 検索文字列[□ オプション群]□ ファイル名…
srh □ 検索文字列 □ /f[□ オプション群]

/d  ;[ON ]  サブディレクトリ処理モード  subDirectory
/d- ;[OFF](既定)

/f  ;[ON ]  ファイル名省略時フィルター・モード  Filter
/f- ;[OFF](既定)
    ;/f を指定し、ファイル名を省略すると、フィルター・モードになり、
    ;標準入力を検索します。/p が自動設定されます。

/not  ;[ON ]  不一致行表示モード  NOT
/not- ;[OFF](既定)

/n     ;[ファイル名+行    ]  表示モード  file Name
/str   ;[行               ](既定)        STRing
/line  ;[ファイル名+行番号]              LINE
/c     ;[ファイル名+行数  ]              line Count
/sc    ;[ファイル名+回数  ]              String Count
/sum   ;[合計行数         ]              line SUM
/ssum  ;[合計回数         ]              String SUM
/list  ;[ファイル名       ]              LIST
       ;/n, /str, /line, /c, /sc, /sum, /ssum, /list は何れか1つが有効

/sort  ;[OFF]  ファイル名ソート・モード  SORT
/sort- ;[ON ](既定)

/bin  ;[ON ]  バイナリ検出モード  BINary
/bin- ;[OFF](既定)

/nl  ;[ON ]  異種改行コード検出モード  NewLine
/nl- ;[OFF](既定)

/continue  ;[ON ]  検索失敗時続行モード  CONTINUE
/continue- ;[OFF](既定)

/w   ;[ON      ]  ワイルドカード文字列モード  Wildcard
/w-  ;[OFF     ](既定)
/wh  ;[先頭一致](/w/h と同じ)               Wildcard Head
/wt  ;[末尾一致](/w/t と同じ)               Wildcard Tail
/wht ;[両端一致](/w/h/t, /wht と同じ)       Wildcard Head Tail
/wth ;[両端一致](/w/t/h, /wth と同じ)       Wildcard Tail Head

/h   ;[先頭一致]  検索文字列先頭一致モード  Head
/ht  ;[両端一致](/h/t, /th と同じ)        Head Tail
/h-  ;[OFF     ](既定)

/t   ;[末尾一致]  検索文字列末尾一致モード  Tail
/th  ;[両端一致](/t/h, /ht と同じ)        Tail Head
/t-  ;[OFF     ](既定)

/case  ;[ON ]  文字列検索半角英大小文字同一視モード  CASE
/case- ;[OFF](既定)

/fcase  ;[OFF]  ファイル名半角英大小文字同一視モード  File CASE
/fcase- ;[ON ](既定)
        ;引数のファイル名のみに作用し、以下のオプションには作用しない。

/sh[<e>[,<e>...]] ;検索対象外先頭一致パス   Skip Head path
/sH[<e>[,<e>...]] ;検索対象外先頭一致パス(大小区別)
/st[<e>[,<e>...]] ;検索対象外末尾一致パス   Skip Tail path
/sT[<e>[,<e>...]] ;検索対象外末尾一致パス(大小区別)
/sp[<e>[,<e>...]] ;検索対象外パス           Skip Path
/sP[<e>[,<e>...]] ;検索対象外パス(大小区別)
/sd[<e>[,<e>...]] ;検索対象外ディレクトリ名 Skip Directory
/sD[<e>[,<e>...]] ;検索対象外ディレクトリ名(大小区別)
/sf[<e>[,<e>...]] ;検索対象外ファイル名     Skip File
/sF[<e>[,<e>...]] ;検索対象外ファイル名(大小区別)
/se[<e>[,<e>...]] ;検索対象外拡張子         Skip Extension
/sE[<e>[,<e>...]] ;検索対象外拡張子(大小区別)
/sa[<a>[,<a>...]] ;検索対象外属性           Skip Attribute
/sA[<a>[,<a>...]] ;検索対象外属性(完全一致)

/lh[<e>[,<e>...]] ;検索限定先頭一致パス     Limit Head path
/lH[<e>[,<e>...]] ;検索限定先頭一致パス(大小区別)
/lt[<e>[,<e>...]] ;検索限定末尾一致パス     Limit Tail path ※ファイルのみ
/lT[<e>[,<e>...]] ;検索限定末尾一致パス(大小区別)           ※ファイルのみ
/lp[<e>[,<e>...]] ;検索限定パス             Limit Path
/lP[<e>[,<e>...]] ;検索限定パス(大小区別)
/ld[<e>[,<e>...]] ;検索限定ディレクトリ名   Limit Directory
/lD[<e>[,<e>...]] ;検索限定ディレクトリ名(大小区別)
/lf[<e>[,<e>...]] ;検索限定ファイル名       Limit File
/lF[<e>[,<e>...]] ;検索限定ファイル名(大小区別)
/le[<e>[,<e>...]] ;検索限定拡張子           Limit Extension
/lE[<e>[,<e>...]] ;検索限定拡張子(大小区別)
/la[<a>[,<a>...]] ;検索限定属性             Limit Attribute
/lA[<a>[,<a>...]] ;検索限定属性(完全一致)
/ls[開始サイズ][-[終了サイズ]] ;検索限定サイズ  Limit Size
  ;サイズはバイト値を実数で指定。倍数単位 K, M, G が使用可能。
  ;  K(キロ)=1024, M(メガ)=1024*1024, G(ギガ)=1024*1024*1024

/lydc[開始日時][-[終了日時]] ;検索限定DIR生成日時 Limit Year Directory Create
/lydw[開始日時][-[終了日時]] ;検索限定DIR書込日時 Limit Year Directory Write
/lydr[開始日時][-[終了日時]] ;検索限定DIR読出日時 Limit Year Directory Read
/lyd[開始日時][-[終了日時]]  ; /lydw の場合と同じ
/lyc[開始日時][-[終了日時]]  ;検索限定ファイル生成日時 Limit Year Create
/lyw[開始日時][-[終了日時]]  ;検索限定ファイル書込日時 Limit Year Write
/lyr[開始日時][-[終了日時]]  ;検索限定ファイル読出日時 Limit Year Read
/ly[開始日時][-[終了日時]]   ; /lyw の場合と同じ
  ;日時は YYYY[MM[DD[HH[MM[SS]]]]] の形式

  ;/s〜オプションは OR結合で対象外にする。
  ;/l〜オプションは AND結合で限定する。同一オプション内は OR結合で限定。
  ;限定よりも対象外オプションが優先。
  ;/sd,sD,ld,lD,lyd〜オプションは、ディレクトリのみに作用。
  ;/sf,sF,se,sE,lf,lF,le,lE,lt,lT,ls,ly〜オプションはファイルのみに作用。
  ;/s〜,l〜オプションを無効にするには、<e>, <a>, 日時なしで指定。
  ;<e>は要素(element)で、ファイル名, ディレクトリ名, パス名, 拡張子。
  ;<e>はワイルドカードも可能(/lh,lH,lt,lT,lp,lP では末尾のみ)。
  ;先頭末尾一致は \ や : を区切りに比較。
  ;<a>は属性で、次の文字の組み合わせで指定。
  ; d:ディレクトリ属性 Directory attribute
  ; r:読出専用属性 Read only attribute/w:書込可属性 Write attribute
  ; h:隠しファイル属性(不可視ファイル属性) Hidden file attribute
  ; s:システムファイル属性 System file attribute
  ; a:未保管属性 Archive attribute

/v[<m>][<e>...][<m>[<e>...]...] ;表示設定  Verbose
 <m>=+ ;付加      plus
     - ;削除      minus (省略時)
     = ;強制設定  equal
 <e>=a ;すべて                    All
     k ;検索対象外ファイル名表示  sKip
     e ;検索不能ファイル名表示    Error
     f ;終了合計表示(/c時)      Finish
/v ;[標準](既定) (/v=ef と同じ)

/time[<n>];処理時間表示開始秒数  TIME
          ;<n>は整数、負値で表示なし、既定 /time300

/log<file> ;[ON  ]  ログ・ファイル出力モード  LOG file
/LOG<file> ;[追加]
/log       ;[OFF ](既定)
           ;<file>はログ・ファイルのファイル名

/p  ;[OFF]  画面一時停止モード  Pause
/p- ;[ON ](既定)

/l<n>[<u>] ;[任意値]  1行のバイト数  Line
/l         ;[200KB ](既定)
           ;<n>は実数で 10Kバイト以上、<u>は倍数単位で K, M, G の何れか

/?, /help ;使用方法説明(設定ファイルに登録不可) HELP

【終了コード】
0:エラーなし、実行成功
1:エラー発生、実行中断
2:エラー発生、実行継続

 
 srhコマンドの解説   


 
 srhコマンドの注意   


 
 ファイルとディレクトリの指定方法   


 
 改行の判断   


 
 srhコマンドの設定ファイル   


 
 srhコマンドの使用例   

※file.txt, f1 はファイル、d1 はディレクトリ
srh xyz file.txt …… ファイルfile.txt の"xyz"を含む行を表示
srh xyz *.txt    …… 拡張子txt のファイルの"xyz"を含む行を表示
srh xyz d1\*.* /d …… ディレクトリd1下の全ファイルを検索
srh xyz d1\readme.txt /d …… ディレクトリd1下の全 readme.txtファイルを検索
srh "Tel>" *.txt …… "Tel>"を含む行を表示
srh 50%  *.txt …… "50%"を含む行を表示(非BATファイル内)
srh 50%% *.txt …… "50%"を含む行を表示(BATファイル内)
srh xyz file.txt /not …… "xyz"を含まない行を表示
srh xyz * /case  …… 文字列検索半角英大小文字同一視
srh xyz * /case- …… 文字列検索半角英大小文字区別《既定》
srh xyz *.HTM /fcase  …… ファイル名半角英大小文字区別
srh xyz *.HTM /fcase- …… ファイル名半角英大小文字同一視《既定》
srh xyz * /sort  …… ファイル名ソートなし
srh xyz * /sort- …… ファイル名ソート《既定》
srh xy*1 *      …… "xy*1"を含む行を表示
srh xy*1 * /w-  …… "xy*1"を含む行を表示(上と同じ動作)《既定》
srh xy*1 * /w   …… "xy"〜"1"を含む行を表示
srh 私は * /h   …… "私は。"で始まる行を表示
srh です。 * /t …… "です。"で終わる行を表示
srh 私は*です。 * /wt  …… "私は"〜"です。"で終わる行を表示
srh 私は*です。 * /wht …… "私は"で始まり、"です。"で終わる行を表示
srh xyz *.txt /n    …… ファイル名を先頭に付けて表示
srh xyz *.txt /line …… ファイル名と行番号を先頭に付けて表示
srh xyz *.txt       …… "xyz"を含む行を表示
srh xyz *.txt /not  …… "xyz"を含まない行を表示
srh xyz *.txt /c    …… "xyz"を含む行数を表示
srh xyz *.txt /sc   …… "xyz"の出現回数を表示
srh xyz *.txt /sum  …… "xyz"を含む合計行数のみを表示
srh xyz *.txt /ssum …… "xyz"の合計出現回数のみを表示
srh xyz *.txt /c /not …… "xyz"を含まない行数を表示
srh xyz *.txt /sum /not  …… "xyz"を含まない合計行数のみを表示
srh xyz *.txt /list      …… "xyz"を含むファイルを表示
srh xyz *.txt /list /not …… "xyz"を含まないファイルを表示
srh xyz C:\ /d /shC:\d1 c: …… C:\d1 以下は検索しない
srh xyz * /d /shC:d1a,c:d1b c: …… C:d1a と C:d1b 以下は検索しない
srh xyz C:\ /d /shC:\d1a,c:\d1b\*\sc c: …… C:\d1a と C:\d1b\*\sc 以下は検索しない
srh xyz C:\   /d /ltC:\*\    …… Cドライブのルートにあるファイルは検索しない
srh xyz C:\d1 /d /ltC:\d1\*\ …… C:\d1直下にあるファイルは検索しない
srh xyz d1 /d /spd1\sa\f1 …… ファイル d1\sa\f1 は検索しない
srh xyz * /d /sdold …… ディレクトリold 以下は検索しない
srh xyz * /d /sdo*  …… ディレクトリo* 以下は検索しない
srh xyz * /d /seobj,exe,jp*g …… 拡張子obj,exe,jp*g は検索しない
srh xyz * /d /se /sa …… 検索対象外拡張子と検索対象外属性を解除し、すべてのファイルを検索
srh xyz * /d /sas,h …… 属性 s, h は検索しない
srh xyz * /d /sas,ds …… 属性 s ファイルと、属性 s のディレクトリ以下は検索しない
srh xyz d1 /d /lhd1\abc?\ …… ディレクトリd1\abc? 以下のみ検索
srh xyz d1 /d /lhd1\abc? /ltd1\*\ …… ディレクトリd1\abc? 以下のみ検索(上と同じ動作)
srh xyz * /d /ls1K       …… 1Kバイトのファイルを検索
srh xyz * /d /ls0.9M-    …… 0.9Mバイト以上のファイルを検索
srh xyz * /d /ls-1048575 …… 1Mバイト未満のファイルを検索
srh xyz * /d /ls3M-5M    …… 3〜5Mバイトのファイルを検索
srh xyz * /d /ly2001     …… 2001年のファイルを検索
srh xyz * /d /ly200104   …… 2001年4月のファイルを検索
srh xyz * /d /ly20010417 …… 2001年4月17日のファイルを検索
srh xyz * /d /ly20010417123456 …… 2001年4月17日12時34分56秒のファイルを検索
srh xyz * /d /ly20010417- …… 2001年4月17日からのファイルを検索
srh xyz * /d /ly20010417-20180625 …… 2001年4月17日〜2018年6月25日のファイルを検索
srh xyz * /d /ly-20180625 …… 2018年6月25日までのファイルを検索
srh xyz * /bin- …… バイナリ検出せず《既定》
srh xyz * /bin  …… バイナリを検出した場合処理停止
srh xyz * /nl-  …… 異種改行コード検出せず《既定》
srh xyz * /nl   …… 2種類以上の改行コードを検出した場合処理停止
srh xyz * /continue  …… 検索失敗があっても続行
srh xyz * /continue- …… 検索失敗があったら終了《既定》
srh xyz * /v=e    …… エラー表示のみ
srh xyz * /v+k    …… 対象外ファイル名表示あり
srh xyz * /v-k    …… 対象外ファイル名表示なし《既定》
srh xyz * /c /v-f …… 合計表示なし
srh xyz * /p- …… 画面一時停止あり《既定》
srh xyz * /p  …… 画面一時停止なし
srh xyz * /logc:\tmp\f1.log …… c:\tmp\f1.logへログ・ファイル出力
srh xyz * /LOGc:\tmp\f1.log …… ログ・ファイル追加出力
srh xyz * /time60 …… 60秒以上で処理時間表示
srh xyz * /time-1 …… 処理時間表示なし
srh xyz * /L500K …… 1行のバイト数を 500Kバイトで検索
srh /? …… 使用方法説明

 
 srhコマンドの実行例   

C>srh 試験 *.txt …… 一致行表示(ファイル名なし)
この試験方法を以下に示します。
試験結果A
試験結果B
この試験方法を以下に示します。
この試験方法を以下に示します。
試験結果A
試験結果B
この試験方法を以下に示します。
試験結果


C>srh 試験 *.txt /n …… 一致行表示(ファイル名あり)
test.txt:この試験方法を以下に示します。
test.txt:試験結果A
test.txt:試験結果B
test1.txt:この試験方法を以下に示します。
test12.txt:この試験方法を以下に示します。
test12.txt:試験結果A
test12.txt:試験結果B
test123.txt:この試験方法を以下に示します。
test123.txt:試験結果


C>srh 試験 *.txt /line …… 一致行表示(ファイル名と行番号あり)
test.txt:10:この試験方法を以下に示します。
test.txt:20:試験結果A
test.txt:120:試験結果B
test1.txt:11:この試験方法を以下に示します。
test12.txt:11:この試験方法を以下に示します。
test12.txt:20:試験結果A
test12.txt:135:試験結果B
test123.txt:15:この試験方法を以下に示します。
test123.txt:20:試験結果


C>srh ">A" c*.html /c …… 一致行数計測
c2cpp.html    :17
c2cpp_c0.html :0
c2cpp_c1.html :0
c2cpp_c2.html :0
c2cpp_org.html:0
c2cpp_t0.html :1
c2cpp_t0c.html:0
c2cpp_t1.html :1
c2cpp_t1c.html:0
c2cpp_t2.html :1
c2cpp_t2c.html:0
cptime.html   :12
合計:32


C>srh ">A" c*.html /c /not …… 不一致行数計測
c2cpp.html    :278
c2cpp_c0.html :338
c2cpp_c1.html :305
c2cpp_c2.html :338
c2cpp_org.html:338
c2cpp_t0.html :29
c2cpp_t0c.html:31
c2cpp_t1.html :29
c2cpp_t1c.html:30
c2cpp_t2.html :29
c2cpp_t2c.html:30
cptime.html   :206
合計:1981


C>srh ">A" c*.html /list …… 一致ファイル一覧
c2cpp.html
c2cpp_t0.html
c2cpp_t1.html
c2cpp_t2.html
cptime.html


C>srh ">A" c*.html /list /not …… 不一致ファイル一覧
c2cpp_c0.html
c2cpp_c1.html
c2cpp_c2.html
c2cpp_org.html
c2cpp_t0c.html
c2cpp_t1c.html
c2cpp_t2c.html

 
 srhの関連ソフト   

 rep ファイル内容置換コマンド
 maxline ファイル最大行コマンド
 ls 高機能ファイル一覧コマンド




HIR-NETソフト


Copyright (C) 1997-2024 Hirabayashi Masahide  プライバシーポリシー