現在の日付(awk)

現在の日付(awk)

awk今日の日付を保存する定数変数はありますか?そうでない場合は、今日の日付を毎日使用するために保存する方法はありますか?

次のようなファイルがあるとしましょう。

boo,foo,2016-08-30
foo,boo,2016-07-31

$3ファイルの日付を今日の日付と比較する必要があります。

つまり、次のスクリプト

awk -F, '{if($3>"2015-08-23"){print $0}}'

2015-08-23現在の日付に変更されます。

ベストアンサー1

標準には日付を取得する組み込み関数はありませんが、awk変数に日付を簡単に割り当てることができます。

awk -F, -v date="$(date +%Y-%m-%d)" '$3>date'

またはawkスクリプトから

BEGIN {
    str = "date +%Y-%m-%d";
    str | getline date;
    close(str);
}
$3>date

gawk、組み込みtime functions、およびstrftime利用可能です。

gawk -F, 'BEGIN{date=strftime("%Y-%m-%d")}$3>date'

おすすめ記事