月と年を渡して、特定の月の週末 (土曜日と日曜日) をカウントするスクリプト。書き方は?
スクリプトの初心者で、この簡単なタスクの解決策を見つけることができません。
週末の土曜と日曜を数えたいので、週末 2 日を意味していると思います。お役に立てれば。ボンベル
unix/linux では、特定の月の cal コマンドを簡単に解析できます。
$ cal 04 2013 April 2013 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
数値の日付は常に 3 行目から始まり、各日の列は一定です。以下のコマンドを使用して週末 (日、土) を抽出すると、ご覧のとおり、太陽は列 1、2、3 (スペースを含む) と土です。 cols 19,20
$ cal 04 2013|テール +3|カット -c1-3,19,20 .. 6 7 13 14 20 21 27 28
以下のスクリプトを cntWkEnd.sh として実行すると、出力は次のようになります。
$ ./cntWkEnd.sh 04 2013 1 2 2 2 1 0
2 日間の週末のみをカウントするには、コマンド ラインまたはスクリプトに次のように追加します。
./cntWkEnd.sh 04 2013|grep "2"|wc -l (以下に示す 3 の出力) 3
これは cntWkEnd.sh の内容です
#!/bin/bash
cal $1 $2|tail +3|cut -c1-3,19,20 |\
while read WkEnd
do
echo $WkEnd|wc -w
done