0

月と年を渡して、特定の月の週末 (土曜日と日曜日) をカウントするスクリプト。書き方は?

スクリプトの初心者で、この簡単なタスクの解決策を見つけることができません。

4

1 に答える 1

0

週末の土曜と日曜を数えたいので、週末 2 日を意味していると思います。お役に立てれば。ボンベル

  1. 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

  2. 数値の日付は常に 3 行目から始まり、各日の列は一定です。以下のコマンドを使用して週末 (日、土) を抽出すると、ご覧のとおり、太陽は列 1、2、3 (スペースを含む) と土です。 cols 19,20

    $ cal 04 2013|テール +3|カット -c1-3,19,20 .. 6 7 13 14 20 21 27 28

  3. 以下のスクリプトを cntWkEnd.sh として実行すると、出力は次のようになります。

    $ ./cntWkEnd.sh 04 2013 1 2 2 2 1 0

  4. 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
于 2013-10-31T01:23:35.113 に答える