~によると協会最後の日を表示するには、次のコマンドを使用します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}'