Only added lines does not make sense in all cases. If you replaced some block of text and you happend to include a single line which was there before, git has to match and guess. – Usually the output of git diff could be used as input for patch afterwards and is therefore meaningful. Only the added lines are not precisely defined as git has to guess in some cases.
If you nevertheless want it, you cannot trust a leading + sign alone. Maybe filtering all the green line is better:
git diff --color=always|perl -wlne 'print $1 if /^\e\[32m\+\e\[m\e\[32m(.*)\e\[m$/'
for only deleted lines filter for all the red lines:
git diff --color=always|perl -wlne 'print $1 if /^\e\[31m-(.*)\e\[m$/'
to inspect the color codes in the output you could use:
git diff --color=always|ruby -wne 'p $_'