3 find .
-type f
> contribution_files.txt
4 perl
-p -e '$_ = substr($_,2)' contribution_files.txt
> contribution_files_stripped.txt
5 egrep -v '^([.]git|tmp|stdlib)' contribution_files_stripped.txt
> contribution_files_limited_1.txt
6 egrep -v '[.](pdf|graffle|rb(a|c)|o|dylib|gen)$' contribution_files_limited_1.txt
> contribution_files_limited_2.txt
7 egrep -v '/[.]|/external_libs/|test/mri/|benchmark/yarv' contribution_files_limited_2.txt
> contribution_files_limited_3.txt
8 cat contribution_files_limited_3.txt |
xargs -n 1 git blame
>> contribution_blames.txt
9 egrep --binary-files=text
-v 'Not Committed Yet' contribution_blames.txt
> contribution_blames_limited.txt
10 perl
-p -e 's/^[^(]+\(([^0-9]+).+/$1/' contribution_blames_limited.txt
> contribution_names_white.txt
11 perl
-p -e 's/\s*$/\n/' contribution_names_white.txt
> contribution_names.txt
12 sort contribution_names.txt |
uniq -c > contribution_counts.txt
13 cat contribution_counts.txt | bin
/contributors.rb