NAME

App::timeput

SYNOPSIS

This module provides a Unix-like command `timeput'.

DESCRIPTION

timeput 

 入力を1行ずつ読み、その各行の先頭に、読み取った時点の時刻をタブ区切りで出力する。
 ただし、"-w 秒数" の指定により、1行読んで出力して、指定秒数動作を止める(sleepする)。

 Ctrl+Z で操作を中断し、2次情報として何行まで読んだのかを表示する。

オプション : 
   -b 0 : 出力のバッファリングをしない。(Buffering)
   -c STR : 色の指定。0で色無し。"cyan","faint red bold","bright_blue"など。色名はTerm::ANSIColor を参照。
   -d : 日付も出力。yyyy-mm-dd HH:MM:SS 形式で。(date)
   -g : 開始からの秒数でなくて、1行ごとの間隔秒数を表示。(gap)
   -s : 起動してからの秒数を出力。(start)
   --sleep N : 入力から1行ずつ逐次読み取り出力して、N秒停止することを繰り返す。
   -z STR : タイムゾーンの設定。"Asia/Tokyo", "-9", "-9:00", "JST-9" などが設定できる。(システム依存)

   -. N : 秒数を小数点以下 N 桁出力する。0から6の整数値が使える。未指定なら3。(-d とは両立しない。) 

利用例 : 
   yes | head | timeput -.6 
   yes | head | timeput -d  | sed 's/ /T/' # POSIXの日時形式にしたい場合。このsed文は最初の空白文字のみTに変更。
   seq 5 | timeput -.6 | timeput -s.6 | timeput -g.6
   seq 10 | timeput -w0.45 | timeput -g.3 # 0.45秒ずつ1行を読み取る。
   command 1> output1.txt 2> >( timeput error.log ) # command は標準エラー出力に何か出力をするプログラムである。便利。

 開発メモ:
   * -w の動作を高度化したい。-w 2,0.2x10,0 と指定することで最初は2秒、次に10回は0.2秒、残りは即座のように。,は+、xは*でも可としたい。
   * -3 のオプションを作りたい。timeput -3 で timeput -g | timeput -s | timeput とおなじ機能を持たせたい。
   * 名前を timeput (タイムプット)ではなく、puttime の方が「プッタイム」で発音しやすい気がする。その方が記憶しやすいかも。
   * タイムゾーンの設定について、 -z が明示的に必要なようだ (Macの場合)。

AUTHOR

下野寿之 Toshiyuki SHIMONO <bin4tsv@gmail.com>

COPYRIGHT AND LICENSE

Copyright (c) 2021 Toshiyuki SHIMONO. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.