awkでその月の最終日の値を取得する方法

awkでその月の最終日の値を取得する方法

~によると協会最後の日を表示するには、次のコマンドを使用しますdate

$ date -d "-$(date +%d) days -1 month"
Wed May 31 21:20:31 CEST 2017

私の質問は、どのように取得できますか?ただ 仕事を指定し、後で使用する変数に割り当てます。

awk '{day=system("date -d \"-$(date +%d) days -1 month\")"; print day)}' 

たとえば印刷出力のみ31。日付形式の形式を指定する必要があることはわかっていますが、最後の日だけを印刷する方法がわかりません。

awkまたは、タスクを完了するための別のより簡単な方法がある場合。

編集する 非常に汚い解決策..

$ awk '{a=system("date -d \"-$(date +%d) days -1 month\"| cut -f 3 -d \" \""); }END{print a}'

31

もっとシンプルでクリーンなアイデアを持っている人はいますか?

ベストアンサー1

最後の日現在の月は次のようになります。

$ date -d "$(date +%Y-%m-01) +1 month -1 day"
Mon Jul 31 00:00:00 CEST 2017

私の最短のもの:

awk '{a=system("date -d \"$(date +%Y-%m-01) +1 month -1 day\" +%d")}END{print a}'

おすすめ記事