偽装派遣なら、日報は必須だと思います。
で、日報ってのはめんどくさいです。
だからこそ定型部分は Cygwin なりでぱーっとスクリプトにやらせちゃいましょう。
本当はRubyの方が楽ですが、bashが利用できる環境の方が多いと思ったので。
定型部は
* 氏名
* 日付
* 勤務時間
* 業務内容(ルーティン部)
などになると思います。
とりあえず僕が使っているのをアレンジして書いてみます。
ご指摘ありましたらお願いいたします。
#!/bin/bash
name="YN"
working="業務内容"
time_work="09時~18時"
上記に関してはロジックがいらないのでらくちんです。
問題は日付や曜日の部分。
"当日"を表示するのは楽です。けれどもいわゆるIT業界なら、
てっぺんを越してしまう業務の方も多いと思います。
そういった方は大抵出社時の日付、曜日で日報を提出するので、
日報作成のスクリプトを走らせるタイミング(24時過ぎ)では
日付も曜日も"翌日"のもにになってしまうことがあります。
そこをロジックで調整します。
まず、自分が朝の何時までの勤務か考えます。
残業する可能性をふくめた設定にするのがおすすめです。
今回は翌日の06時までであれば、00時(24時)から9時(33時)までに走らせたスクリプトは、
前日の日付、曜日を返すようif文をまじえて設定するようにします。
そのために現在の時刻を取得する変数も設定する必要があります。
time=`date +"%H"`
if ((${time} < 10)) ;then
today1=`date --date '1 days ago' +"%y%m%d"`
today2=`date --date '1 days ago' +"%y年%m月%d日" `
youbi_num=`date --date '1 days ago' +"%w"`
else
today1=`date +"%y%m%d"`
today2=`date +"%y年%m月%d日"`
youbi_num=`date +"%w"`
fi
これでOKです。
そして曜日を数字から月火水木金土の漢字形式にします。
caseが楽だと思います。
case ${youbi_num} in
0) youbi="日" ;;
1) youbi="月" ;;
2) youbi="火" ;;
3) youbi="水" ;;
4) youbi="木" ;;
5) youbi="金" ;;
6) youbi="土" ;;
esac
あとはファイルとして出力させるだけです。
cat <<-END > ${today1}_nippou.txt
${name} ${today2}(${youbi})日報
業務時間 ${time_work}
業務内容 ${working} END
思い出しながらやってたら結構時間かかったりして。
下記のスクリプトをデスクトップなりにおいて実行すると、
同一のディレクトリ/フォルダにyymmdd_nippou.txtが出来ます。
$ . nippou.sh
$ cat ./080319_nippou.txt
YN 08年03月19日(水)日報
業務時間 09時~18時
業務内容 業務内容はここ
という感じ。
#!/bin/bash
#nippou.sh
name='YN'
working='業務内容はここ'
time_work='09時~18時'
time=`date +'%H'`
if ((${time} < 10)) ;then
today1=`date --date '1 days ago' +'%y%m%d'`
today2=`date --date '1 days ago' +'%y年%m月%d日'`
youbi_num=`date --date '1 days ago' +'%w'`
else
today1=`date +'%y%m%d'`
today2=`date +'%y年%m月%d日'`
youbi_num=`date +'%w'`
fi
case ${youbi_num} in
0) youbi="日" ;;
1) youbi="月" ;;
2) youbi="火" ;;
3) youbi="水" ;;
4) youbi="木" ;;
5) youbi="金" ;;
6) youbi="土" ;;
esac
cat <<-END > ${today1}_nippou.txt
${name} ${today2}(${youbi})日報
業務時間 ${time_work}
業務内容 ${working}
END
で、日報ってのはめんどくさいです。
だからこそ定型部分は Cygwin なりでぱーっとスクリプトにやらせちゃいましょう。
本当はRubyの方が楽ですが、bashが利用できる環境の方が多いと思ったので。
定型部は
* 氏名
* 日付
* 勤務時間
* 業務内容(ルーティン部)
などになると思います。
とりあえず僕が使っているのをアレンジして書いてみます。
ご指摘ありましたらお願いいたします。
#!/bin/bash
name="YN"
working="業務内容"
time_work="09時~18時"
上記に関してはロジックがいらないのでらくちんです。
問題は日付や曜日の部分。
"当日"を表示するのは楽です。けれどもいわゆるIT業界なら、
てっぺんを越してしまう業務の方も多いと思います。
そういった方は大抵出社時の日付、曜日で日報を提出するので、
日報作成のスクリプトを走らせるタイミング(24時過ぎ)では
日付も曜日も"翌日"のもにになってしまうことがあります。
そこをロジックで調整します。
まず、自分が朝の何時までの勤務か考えます。
残業する可能性をふくめた設定にするのがおすすめです。
今回は翌日の06時までであれば、00時(24時)から9時(33時)までに走らせたスクリプトは、
前日の日付、曜日を返すようif文をまじえて設定するようにします。
そのために現在の時刻を取得する変数も設定する必要があります。
time=`date +"%H"`
if ((${time} < 10)) ;then
today1=`date --date '1 days ago' +"%y%m%d"`
today2=`date --date '1 days ago' +"%y年%m月%d日" `
youbi_num=`date --date '1 days ago' +"%w"`
else
today1=`date +"%y%m%d"`
today2=`date +"%y年%m月%d日"`
youbi_num=`date +"%w"`
fi
これでOKです。
そして曜日を数字から月火水木金土の漢字形式にします。
caseが楽だと思います。
case ${youbi_num} in
0) youbi="日" ;;
1) youbi="月" ;;
2) youbi="火" ;;
3) youbi="水" ;;
4) youbi="木" ;;
5) youbi="金" ;;
6) youbi="土" ;;
esac
あとはファイルとして出力させるだけです。
cat <<-END > ${today1}_nippou.txt
${name} ${today2}(${youbi})日報
業務時間 ${time_work}
業務内容 ${working} END
思い出しながらやってたら結構時間かかったりして。
下記のスクリプトをデスクトップなりにおいて実行すると、
同一のディレクトリ/フォルダにyymmdd_nippou.txtが出来ます。
$ . nippou.sh
$ cat ./080319_nippou.txt
YN 08年03月19日(水)日報
業務時間 09時~18時
業務内容 業務内容はここ
という感じ。
#!/bin/bash
#nippou.sh
name='YN'
working='業務内容はここ'
time_work='09時~18時'
time=`date +'%H'`
if ((${time} < 10)) ;then
today1=`date --date '1 days ago' +'%y%m%d'`
today2=`date --date '1 days ago' +'%y年%m月%d日'`
youbi_num=`date --date '1 days ago' +'%w'`
else
today1=`date +'%y%m%d'`
today2=`date +'%y年%m月%d日'`
youbi_num=`date +'%w'`
fi
case ${youbi_num} in
0) youbi="日" ;;
1) youbi="月" ;;
2) youbi="火" ;;
3) youbi="水" ;;
4) youbi="木" ;;
5) youbi="金" ;;
6) youbi="土" ;;
esac
cat <<-END > ${today1}_nippou.txt
${name} ${today2}(${youbi})日報
業務時間 ${time_work}
業務内容 ${working}
END
仕事に使えるLinuxシェルスクリプト~bashで作る実用サンプル41
posted with amazlet on 08.03.19
千葉 真人
日経BP社 (2004/11/25)
売り上げランキング: 238420
日経BP社 (2004/11/25)
売り上げランキング: 238420
トラックバック(0)
このブログ記事を参照しているブログ一覧: 日報はスクリプトで書こう。 / Cygwin-bash
このブログ記事に対するトラックバックURL: http://jippenshar.com/igc/mt/mt-tb.cgi/125
"Hack" - YouTube



コメントする