最近因?yàn)閭€人原因離職,換了份工作当宴,在和上一家公司結(jié)算工資的時候出了些bug畜吊,我個人感覺我平時加班還是比較多。每周加班最少四天户矢,有時候甚至6天玲献。我今年也是剛畢業(yè)來北京,雖說之前在學(xué)校有做過兩年外包梯浪,但依舊單身捌年。所以也沒什么事,加班使我快樂驱证,既能打發(fā)周末的無聊延窜,也能混一天50塊錢的加班餐補(bǔ),而且還為公司項目作出了貢獻(xiàn)抹锄,何樂而不為呢,總之一句話荠藤,加班使我快樂伙单。但是這個加班是不給加班費(fèi)的,意思就是可以調(diào)休假哈肖,年底的時候可以折算成工資吻育。
后來,我干到第五個月的時候淤井,因?yàn)閭€人原因布疼,我就離職了。不要問我為什么币狠,有一個男人曾經(jīng)說過游两,員工離職無非兩個原因:一是錢沒到位,二是受委屈了漩绵。當(dāng)這兩點(diǎn)同時達(dá)到的時候贱案,哪怕是世界上最好的公司,也沒人愿意待的止吐。
也就是我離職以后的五號宝踪,公司該結(jié)算工資了,我發(fā)現(xiàn)我的工資居然只比以前多了273塊錢碍扔。我瞬間就感覺不可思議瘩燥。覺得不科學(xué),我哪怕多加班一天不同,工資也不止200來快啊厉膀。而后準(zhǔn)備詢問一下公司財務(wù),發(fā)現(xiàn)微信被拒收了。而后我又去問人事站蝠,人事給我口述一大堆汰具,我讓截圖給我,也是不愿意菱魔。我就感覺我可能被騙了留荔。
那末問題來了,我如何知道我自己到底家了多少班呢澜倦?聚蝶??公司用的是linus開發(fā)的git來管理軟件的藻治,當(dāng)然碘勉,我剛?cè)サ臅r候沒人用
git,都是我完善起來的桩卵。事實(shí)證明验靡,這對我日后維權(quán)有著莫大的好處。既然用的是git雏节,那么我每一次提交代碼都是有記錄的胜嗓,一個完整的git。記錄內(nèi)容如下:
commit 78b2c07d52f0c567b8864eb2d0db25eb168822d0 Author: Pengfei-GaoDate: Thu Nov 16 10:06:16 2017 +0800 add package-lock.json ...
我們可以使用git的git log --author=username來打印出我提交代碼的記錄钩乍。然后就是找出我周末的提交記錄辞州,可以把git log的輸出管道重定向到grep,使用grep來找出周末提交代碼的記錄寥粹,像下面這樣子:
? git log --author=Pengfei-Gao | grep -E "Wed|Sun" Date: Wed Nov 22 16:04:40 2017 +0800 Date: Wed Nov 15 16:42:21 2017 +0800 ...
現(xiàn)在問題來了变过,同一天可能有多次提交,這樣就會出現(xiàn)重復(fù)的記錄涝涤,對統(tǒng)計造成一些麻煩媚狰,所以我們可以用awk來去掉單條記錄時、分妄痪、秒這些字段哈雏,然后用sort -k2n | uniq來去掉重復(fù)的記錄,大概像下面這樣子:
? git log --author=Pengfei-Gao | grep -E "Wed|Sun" | awk -F ' ' '{print $1,$2,$3,$4,$6}' | sort -k2n | uniq Date: Sun Aug 20 2017 Date: Sun Aug 6 2017 Date: Sun Sep 24 2017
到了這一步衫生,剩下的就是我們加班并提交代碼的日期了裳瘪,我們在用awk統(tǒng)計一下記錄數(shù),也就是我們的加班天數(shù)罪针,大概像下面這樣子:
? git log --author=Pengfei-Gao | grep -E "Wed|Sun" | awk -F ' ' '{print $1,$2,$3,$4,$6}' | sort -k2n | uniq | awk 'END{print NR}' 17
也是說彭羹,我為了維護(hù)這個項目,總共加班17天泪酱。那么在很多情況下派殷,一個公司里面同一個人沒可能要去維護(hù)好幾個項目还最,這種情況該怎莫辦呢?我們可以將所有項目的提交記錄全部寫入同一個名為commit_log的文件毡惜,然后像下面這樣子:
? cat commit_log | grep -E "Wed|Sun" | awk -F ' ' '{print $1,$2,$3,$4,$6}' | sort -k2n | uniq | awk 'END{print NR}'
就可以統(tǒng)計出你為了維護(hù)公司所有的項目所加班的天數(shù)了拓轻。我寫了一個簡單的shell腳本,名為count_my_overtime经伙,內(nèi)容如下:
#!/bin/bash projects=$(ls -F | grep '/$') for project in $projects; do # cursor cd $project && git log --author="$1" 1>> $(pwd)/../overtime_log cd .. done overtime_num=$(cat overtime_log | grep -E "Wed|Sun" | awk -F ' ' '{print $1,$2,$3,$4,$6}' | sort -k2n | uniq | awk 'END{print NR}') echo "A: congratulations, $1. You have worked overtime about $overtime_num days" rm overtime_log -f
使用方法特別簡單扶叉,將你維護(hù)的所有項目全部放在統(tǒng)一目錄下,然后執(zhí)行如下命令即可:
./count_my_overtime [you-user-name]
剛才把證據(jù)拿給我們?nèi)耸驴戳艘院笈聊ぃ覀內(nèi)耸抡f:”只有自個申請加班枣氧,并且領(lǐng)導(dǎo)簽字同意了的才算加班“。也就是說我這17天白干了垮刹。加上我國慶中秋加班兩天达吞,也就是說,白干一個月(總共是17+2X3=23天的工作日荒典,注意:勞動法規(guī)定酪劫,一個月的工作日只有21天)。
資源:
以上部分資料截圖寺董,是我本人收藏的2000G視頻學(xué)習(xí)資料契耿!起碼價值3萬!絕對比群里那些漫天飛的資料強(qiáng)太多螃征!
為了感謝大家的支持,今天統(tǒng)一發(fā)給大家透敌!在我的公眾號里盯滚,關(guān)注:【雞蛋君說前端】 ,即可免費(fèi)領(lǐng)刃锏纭魄藕!