- 締切済み
シェルスクリプト grep
下記のようなファイルから年月をkeyとして2009/08/05以降のものだけを取得してくる方法がわかりません。 grepでは日時指定をしようにも方法がわからず、awkを使ってもいまいちうまくいきません。 何か方法ありますでしょうか 2009/08/04 08:00:07 開始 2009/08/04 08:00:07 終了 2009/08/05 08:00:07 開始 2009/08/05 08:00:07 終了 2009/08/05 08:00:07 開始 2009/08/05 08:00:07 終了 2009/08/06 08:00:07 開始 2009/08/06 08:00:07 終了
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- harahachi
- ベストアンサー率70% (7/10)
回答No.2
日付がYYYY/MM/DD形式で固定であれば、 awk '$1 >= "2009/08/05"' ファイル名 という方法もあります。 この方法は日付としてではなく、数値として比較してるので、 例えば、 2009/08/04 2009/9/4 といった形でフォーマットが混在しているとうまくいきません。 2009/08/04 2009/09/04 であればOKです。
- NaKIT
- ベストアンサー率62% (15/24)
回答No.1
提示されているサンプルを見る限り、 ファイルは日付・時刻でソートされているようなので、 sed が使えるなら、 sed -n -e "/^2009\/08\/05/,$p" file-name でよいかと思います。 最初に見つかった 2008/08/05 以降、 ファイルの終わり($)までが出力されます。 grep と awk があるなら大丈夫とは思いますが、 sed が使えなければこの書込みは無視してください。