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
| git log --since="30 days ago" --format='%ae' --numstat | \ awk ' BEGIN { delete added; delete deleted } # 匹配作者邮箱(标准邮箱格式) /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/ { author = $0; next } # 匹配代码行数(数字开头,且当前作者有效) /^[0-9]/ { if (author) { added[author] += $1; deleted[author] += $2 } next } # 忽略二进制文件行("- -" 开头的行) /^- -/ { next } END { for (a in added) { printf "Author Email: %s\nAdded: +%d\nDeleted: -%d\nNet: %d\n\n", a, added[a], deleted[a], added[a] - deleted[a]; } } '
|