Быстрее всего было использовать wdiff
:
$ wdiff -n -w '' -x '' -y '' -z '' <(git diff --name-status) <(git diff --stat)
vvv 2018-06-26 10:08:27-0700
M foo/baz.py | 19 +++++++++++--------
M foo/bar.py | 37 ++++++++-----------------------------
M foo/qux.py | 2 +-
3 files changed, 20 insertions(+), 38 deletions(-)
Опции -[w-z]
устанавливают разделители для начала / конца вставки / удаления.
-n
гарантирует, что выходные данные также совпадают ... что, вероятно, не имеет значения при пропуске -[w-z]
, но является хорошей привычкой для wdiff
в целом.
Теоретически, это может привести к ошибке, если ваше имя файла будет похоже на что-либо еще в строке. К счастью, хорошая практика позволяет избегать имен файлов, таких как M
, |
, 19
и +++++++++++--------
Более правильный способ - использовать paste
, но для этого потребуется пропустить вывод через sed
, чтобы удалить дублирующиеся детали.