SRCHSTR 文字列検索

書法

SRCHSTR [filename]* [option]*

SHELLMODE

@記述、!記述、^記述

詳細

行単位で文字列を検索する。
ファイルを複数指定すると、それらを順次処理する。 ファイル名を省略すると標準入力を処理する。

検索文字列

検索文字列の指定方法は、コマンドラインで指定する方法とファイルで指定する方法があり、 これらは、混用できる。

通常のモードのほかに、検索対象を事前に正規検索するブロックモードや事前処理をして大量の検索に備えるバルクモードがある。

文字列をコマンドラインで指定

コマンドラインで検索文字列を指定する場合は、オプション(-S)を使用する。 このオプションは何度でも指定でき、指定した検索文字列は登場順に登録される。

文字列をファイルで指定

コマンドラインで検索置換文字列を指定する場合は、オプション(-P)を使用する。
指定したファイルの行単位で検索文字列を指定する。

このオプションは何度でも指定でき、指定した検索文字列は登場順に登録される。

検索モード

六つのモードがある。標準モード、拡張標準モードは少量の検索語の場合に使用する。
ブロックモードはプログラム言語や、英文などで使用すると良い。
バルクモード、拡張バルクモードは大量の検索語の場合に使用する。
バルクブロックモードは大量検索対応のブロックモード。

モード検索語の量オプション説明
標準モード少量-- ソーステキストの全ての部分に対して検索を行う。
バルクモード大量-MD
拡張標準モード少量-MQ 語の優先順位に従って検索する。ソーステキストの同じ部分を重複して検索しない。
拡張バルクモード大量-MDQ
ブロックモード少量-MB 入力行に対して指定した正規検索を実施し、一致した文字列に対して検索文字列との一致を検査する。
プログラム言語や、英文でのワード一致などに使用することを考慮して作ったモード
バルクブロックモード大量-ME

出力形式

出力行の形式は、tab で区切って項目を繋いだものである。順序は次の通り。

ファイル名 tab 行番号 tab 文字位置 tab 検索語 tab 入力行

文字位置は、0から始まる行の先頭からの文字の番号。

大まかな指定は、標準(無指定)、行番号形式(-G)、ファイル名形式(-F)でおこなう。

標準
基本形式は、
検索語 tab 入力行
オプション(-C)で文字位置を追加でき、オプション(-N)で入力行を省略できる。
行番号形式
基本形式は、
行番号 tab 検索語 tab 入力行
オプション(-C)で文字位置を追加でき、オプション(-N)で入力行を省略できる。
ファイル名形式
基本形式は、
ファイル名 tab 行番号 tab 検索語 tab 入力行
オプション(-C)で文字位置を追加でき、オプション(-N)で入力行を省略できる。

行番号など数値出力項目の出力形式は、オプションで簡易指定できる(-W)。

出力行の折りたたみ指定

標準では、検索語が見つかるたびに1行出力する。つまり、1行に対して複数行の出力が行われる。これを1行にまとめることができる(-T)。このとき出力行形式を踏襲するが、文字位置は常に省略され、検索語の部分は特別に指定した形式となる。

検索語羅列
検索語を「,」で区切って繋いだもの
検索語 [ , 検索語 ]*
検索語は登録順に並ぶ。
件数付加
行内での一致件数を検索語ごとに出力する。次の形式
検索語 : 件数 [ , 検索語 : 件数 ]*
検索語は登録順に並ぶ。
位置付加
行内でのすべての一致に対して、文字位置と検索語の組をならべたもの
文字位置 : 検索語 [ , 文字位置 : 検索語 ]*
登場順にならんでいる。

OPTION

-B[F][行数]
一致した行の前後を指定行数だけダンプする。行数を省略すると 5 行。
Fを書く適宜改行を挟んで見やすくする。
-C
出力行に文字位置を加える。
-D対象正規表現文字列
各種セパレータを正規表現で定義する。
-DLstr 行末。デフォルトは「\r\n
-DFstr 項目区切り。デフォルトは「\t
-DIstr 検索語区切り。デフォルトは「,
-DCstr 検索語と位置・件数との区切り。デフォルトは「:
-F
出力行の基本形式をファイル名形式にする。
ファイル名 tab 行番号 tab 検索語 tab 入力行
-FXとすると入力行を省略する。
-G
出力行の基本形式を行番号形式にする。
行番号 tab 検索語 tab 入力行
-GXとすると入力行を省略する。
-I
半角の大文字と小文字の区別をしない
-Mmode
検索の動作モードを指定する。
Q 拡張標準モードを指定する。
B正規検索 ブロックモードを指定する。
D バルクモードを指定する
DQ 拡張バルクモードを指定する
E正規検索 バルクブロックモードを指定する。
-N
出力行から入力行の出力を省く
-Ofilename
指定のファイルへ出力を切り替える
-Pfilename
検索文字列が格納されているファイルを指定する。 一行が一つの検索置換文字列に相当する。
何度指定しても良い
-S検索文字列
検索文字列を指定する。何度指定しても良い。
-Tまとめモード
入力行1行にたいする出力行を1行にまとめる。
-T検索語を羅列する
-TS検索語:件数を羅列する
-TC位置:検索語を羅列する
-W対象桁指定
数値項目の形式を指定する。
桁指定は数値で行う。
0:自由形式
n: n 桁
-n: 先頭を0で埋めた n 桁
-WLn行番号
-WCn文字位置
-WSn一致件数
-X
正規検索のときに空白無視モードを指定する。

用例

参考

バージョン

Ver 1.012012/04/30前後行の表示機能追加
Ver 1.002012/04/29初版