grep '+++' mydiff.patch|perl -pe 's/\+\+\+ //g'
подробности:
git diff производит вывод в формате
+++ b/file
Так что, если вы используете grep, как предложил Натан
grep '+++' mydiff.patch
У вас будет список затронутых файлов с добавлением '+++' (3 знака плюс и пробел).
Мне часто нужно дополнительно обрабатывать файлы и находить удобным иметь одно имя файла в строке без чего-либо еще. Это может быть достигнуто с помощью следующей команды, где perl / regex удаляет эти знаки плюс и пробел.
grep '+++' mydiff.patch|perl -pe 's/\+\+\+ //g'
Для файлов исправлений, сгенерированных с помощью diff -Naur, файл mydiff.patch содержит записи с именем файла и датой (указывает символ пробела табуляции)
+++ b/file<tab>2013-07-03 13:58:45.000000000 +0200
Чтобы извлечь имена файлов для этого, используйте
grep '+++' mydiff.patch|perl -pe 's/\+\+\+ (.*)\t.*/\1/g'