##
8.13.1 テンプレートオブジェクト

テンプレートオブジェクトは以下のメソッドを持っています:

`reset`( | )

  パイプラインテンプレートを初期状態に戻します。

`clone`( | )

  元のパイプラインテンプレートと等価の新しいオブジェクトを返します。

`debug`( | flag)

  flag が真の場合、デバッグをオンにします。そうでない場合、 デバッグをオフにします。デバッグがオンの時には、実行されるコマンド が印字され、より多くのメッセージを出力するようにするために、シェルに `set -x` 命令を与えます。

`append`( | cmd, kind)

  新たなアクションをパイプラインの末尾に追加します。cmd 変数は 有効な bourne shell 命令でなければなりません。kind 変数は 二つの文字からなります。

  最初の文字は `'-'` (コマンドが標準入力からデータを読み出すことを 意味します)、`'f'` (コマンドがコマンドライン上で与えたファイルから データを読み出すことを意味します)、あるいは `'.'` (コマンドは 入力を読まないことを意味します、従ってパイプラインの先頭になります)、の いずれかになります。

  同様に、二つ目の文字は `'-'` (コマンドが標準出力に結果を書き込む ことを意味します)、`'f'` (コマンドがコマンドライン上で指定した ファイルに結果を書き込むことを意味します)、あるいは `'.'` (コマンド はファイルを書き込まないことを意味し、パイプラインの末尾になります)、 のいずれかになります。

`prepend`( | cmd, kind)

  パイプラインの先頭に新しいアクションを追加します。引数の説明については `append()` を参照してください。

`open`( | file, mode)

  ファイル類似のオブジェクトを返します。このオブジェクトは file を開いていますが、パイプラインを通して読み書きするようになっています。 mode には `'r'` または `'w'` のいずれか一つしか与える ことができないので注意してください。

`copy`( | infile, outfile)

  パイプを通して infile を outfile にコピーします。