#!/usr/local/bin/tt

# 簡易 grep コマンドです。
# パターンとファイル名を指定して、マッチする各行を表示します。
# もし、ファイル名が省略された場合は標準入力を検索対象とします。

/*--1---2---3---4---5---6---7---8---9---A---B---C---D---E---F---G---H---I---J---K---L---M---N---*/

# 引数の確認
    if( argc!=2 && argc!=3 )
        dying("使い方:  grep  正規表現パターン  [ファイル名]\n")

# パターンの取得   → p は正規表現パターン（文字列）
    p = shift ( )               # 最初のパラメーター（p = 文字列）
    p = regexp(p)               # 正規表現コンパイル（p = 文字列＋正規表現パターン）

# ファイル名の取得 → f はファイル名（文字列）
    f = shift(stdin)            # 何も指定されてない時は stdin とします。

# ファイルの読み込み＆マッチ行の表示（ファイルは自動オープン&自動クローズ）
    while( s=gets(f) ){         # １行毎に読み込み（ファイル末で s=NULL となりループ終了）
        if( p~~s )              # もし、行 s がマッチしたら...
            puts(s)             # 行 s を標準出力に出力する
    }
