コマンドラインの実行結果を監視する

コマンドラインの実行結果を監視したいんだと

  • watchだと履歴が見れない
  • whileだと全部垂れ流しで全部のデータを見るのがだるい

コマンドラインの実行結果が変わったときだけに表示してほしい〜〜って思ったんだけど、watchもwhileも微妙だったのでチョコチョコかいた そういうコマンドありそうなんだけど知らないなあ

while do
  sleep 1
  c=`date +"%Y-%m-%d %H:%M"`
  if [ $c != $d ]; then
    date
    echo $c
    echo '-------------------------------------------------------------------'
  fi
  d=$c
done

こんな感じに標準出力が変わったときに表示される

2018年 3月13日 火曜日 07時40分00秒 JST
2018-03-13 07:40
-------------------------------------------------------------------
2018年 3月13日 火曜日 07時41分00秒 JST
2018-03-13 07:41
-------------------------------------------------------------------
2018年 3月13日 火曜日 07時42分00秒 JST
2018-03-13 07:42
-------------------------------------------------------------------
2018年 3月13日 火曜日 07時43分00秒 JST
2018-03-13 07:43
-------------------------------------------------------------------
2018年 3月13日 火曜日 07時44分00秒 JST
2018-03-13 07:44
-------------------------------------------------------------------