LXTRA 行を正規検索する

書法

LXTRA pattern [filename]* [option]*

SHELLMODE

@記述、!記述、#記述

詳細

行を正規検索し、一致した行を出力する
ファイルを複数指定すると、それらを順次処理する。 ファイル名を省略すると標準入力を処理する。

検索パターン

正規検索そのものに付いては別途資料を参照すること。 検索は行単位で行う。

検索パターンの記述

検索パターンは以下の3種類の方法で記述できる。
  1. 第一パラメータ
    検索パターンが一つの場合は、通常この方法で記述する。 第一パラメータが空文字列の場合は無効となる。
    検索パターンの先頭に#!@がある場合は、 次の-Mオプションを用いるか、 あるいは、パターンの先頭にダミーの\/を置くと良い。
  2. オプション(-M
    直接コマンドラインにパターンを書ける。このオプションを複数書くことが出来る。
  3. オプション(-P
    ファイルから検索パターンを読み込む。ファイルの1行が一つのパターンに相当する。
    行が空行ならばその行は無視する。

複数の条件を記述した場合は、OR検索、またはAND検索が出来る。 標準ではOR検索を行う。 検定は条件の登場順に行い、条件が成立した時点で成立とする。 部分文字列の切り出しなどは最初に一致した条件に従って行う。

オプション(-AND)を指定するとAND検索を行う。 検定は条件の登場順に行い、条件が全て成立した時点で成立とする。 部分文字列の切り出しなどは最後の条件に従って行う。

条件の数は最大4096件まで指定が可能である。

その他の指定

  1. 検索の際の大文字小文字の区別をしない指定ができる(-I)。 また、メタ文字?の扱いを変更するバウンダリモードの指定ができる(-B)。
  2. 入力行の替わりに、一致文字列や部分文字列の出力を指定できる(-R)。 また、出力行を細かく指定して組み立てることができる(-E)。
  3. 出力行に行番号やファイル名を付加できる(-F,-G)。 入力文字列の出力を抑制できる(-X)。
  4. マッチしたファイル名の出力ができる(-L)。 このときは一度マッチするとそのファイルの中での検索をそれ以上しないので、 詳細が不要な場合は速度的にも有利である。
  5. ファイル単位での一致数を出力する指定がある(-C)。 また、全体での一致数を出力する指定がある(-T)。これらの指定をすると、指定以外の出力は行わない。
  6. マッチしない行の出力ができる(-V)。

OPTION

-1
一回マッチした時点でファイル内の検索を放棄する。
-AND
複数条件を記述したときの条件のANDを取る。
-B
検索パターンをバウンダリモードで解釈する。
この指定をすると検索パターン中のメタ文字の意味付けが変わる。 直前の文字1個または、行頭、行末で一致するようになる。
-C[N]
ファイル毎にパターンの含まれる行数を出力する。
-CN パターンが一つ以上あるファイルのみ出力
-Estr
出力行形式を細かく指定する

形式指定文字列記述

全ての制御コードは出力しない。 制御コード以外の文字は以下にあげる文字を除いてそのまま出力される。

\\<\>自身
\a制御文字 BELL(07h)
\b制御文字 BS(08h)
\e制御文字 ESC(1Bh)
\f制御文字 FF(0Ch)
\n制御文字 CRLF(0Dh,0Ah)
\r制御文字 出力しない
\t制御文字 TAB(09h)
\v制御文字 HM(0Bh)
\hnn1バイトコード
\xnnnn2バイトコード(JIS)
\I入力文字列の全体
\0一致文字列の全体
\1-\9部分文字列
\=nn;部分文字列
\Nファイル内行番号
\L出力データ相対番号
\Fファイル名
\[一致文字列の前まで
\]一致文字列の後
\/n,m/指定番号の位置マークの間の文字列。 n省略では一致文字列の先頭、 m省略では一致文字列の末尾.
\(tsexpr)tsexprの結果。
sys関数は以下の機能を持つ
sys(0) ファイル名(\F)と同じ
sys(1) ファイル内行番号
sys(2) 出力データ相対番号
sys(-1 .. -99)部分文字列
sys(10)一致文字列
sys(20)入力文字列の全体
-F
抽出データ行にファイル名、行番号をつける
-G
抽出データ行に行番号をつける
-I
半角の大文字と小文字の区別をしない
-IF
半角、全角の大文字と小文字を区別しない
-L
パターンを含むファイル名だけを出力する。 最初に条件が成立した時点で以降の行の検索をしない
-LV
パターンを含まないファイル名だけを出力する。 最初に条件が成立した時点で以降の行の検索をしない
-Mpattern
検索のパターンを追加指定する。複数の記述が可能である。
指定したパターンのうち、一つでも成立すれば条件成立とみなす。
-Ofilename
指定のファイルへ出力を切り替える
-Pfilename
検索パターンをファイルで指定する。 1行が一つのパターンに相当し、空行は無視する。
-R[n]
入力データ行の代わりに一致した文字列、または、部分文字列を出力する。
-R 一致文字列を出力する
-Rn 部分文字列を出力する。nは部分文字列の番号
-T
全体を通してパターンの含まれる個数を出力する
-W[0n|n]
埋めこみ行番号の出力形式を指定する。デフォルトは-W
-W 自由形式 -W→「123」
-Wn 固定幅スペース埋めこみ -W5→「  123」
-W0n 固定幅0埋めこみ -W05→「00123」
-V
パターンを含まない行をマッチした行とする
-X
入力データ行の内容を出力しない。 この指定をすると、-Gオプションも同時に指定されて、行番号が出力される
-Z
ファイル全体を読みこんで1行として扱う。 ファイル内の行末は\nで参照する。 ファイル末に行末が無い場合は読み込みのときに行末を付加する。 このとき行番号の出力は正しくない。

用例

参考

正規検索正規検索記述
CXTRA文字列の正規検索

バージョン

Ver 1.00初版