毎月第二日を救う方法

毎月第二日を救う方法

HPUXで毎月2日目(8月2日など)を取得する方法。

date -dHPUX Unixでは動作しません。

ベストアンサー1

GNUとbusyboxを使用して実装されました。

$ date -d '2020-08-02' "+%A"
Sunday

FreeBSDの場合:

$ date -j -f "%d %m %Y" "02 08 2020" "+%A"
Sunday

年のすべての月の2日目を得るには、次のdays-in-a-year.shスクリプトを使用できます。

#!/usr/bin/env sh

year=2021

month=1
while [ $month -le 12 ]; do
    # GNU and busybox
    date -d "$year-$month-02" "+%d %B %Y: %A"

    # FreeBSD
    # date -j -f "%d %m %Y" "02 $month $year" "+%d %B %Y: %A"

    month=$(( month + 1 ))
done

出力:

$ ./days-in-a-year.sh
02 January 2021: Saturday
02 February 2021: Tuesday
02 March 2021: Tuesday
02 April 2021: Friday
02 May 2021: Sunday
02 June 2021: Wednesday
02 July 2021: Friday
02 August 2021: Monday
02 September 2021: Thursday
02 October 2021: Saturday
02 November 2021: Tuesday
02 December 2021: Thursday

ちなみに、calFreeBSDとLinuxで利用可能で、コマンドラインでカレンダーを表示できるutil-linuxパッケージの一部と呼ばれる素晴らしいユーティリティがあります。

$ cal
     August 2021
Su Mo Tu We Th Fr Sa
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

おすすめ記事