awk - 時刻 文字列 比較

時刻の大小の比較のみを扱う場合は、わざわざUnixタイム(Epoch Time)に変換する必要はなく、awkの文字列比較を使えば簡単(´ω` )大したことは書いてませんが、あれこれ無駄に考える時間が減ってくれれば幸いです。仕事も必要なだけやって後は何もせずに呆けましょう。 awkの文字列の大小比較は先頭(左)から1文字ずつ比較され、対象が数字の場合はそのままその数字の大小となる。
例)
"123" と "92" は "92" が大きい

よって、桁数や書式を揃えれば時刻の大小比較を行うことができる。

例)
YYYY/MM/DD hh:mm:ssの形式の日付時刻の比較
(shell scriptで使う場合。読み込むテキストは日付と時刻がフィールドセパレータ(空白)で分かれていると仮定)
DATE1="2015/01/23 05:00"
DATE2="2015/01/24 04:59"
awk '
{
  date = $1" "$2
  if ( date >= "'"${DATE1}"'" && date <= "'"${DATE2}"'" ) {
    print $0
  }
}' foobar.txt > hogehoge.txt

結果は、foobar.txtの行に書かれている日付で、DATE1とDATE2の間の期間にあるものが、hogehoge.txtにリダイレクトされます。