Не уверен, что можно фактически разделить stdout
.
Однако один из способов достижения желаемого результата состоит в том, чтобы разделить файл вывода git log -p
на некоторый узор (скажем commit
), а затем сформировать набор файлов, представляющих каждую фиксацию. Эти файлы можно просматривать в порядке. Вы будете нуждаться в команде csplit
сделать расщепление:
csplit -zqf "commit-" <(git log -p) '/^commit /' '{*}' && less commit-*
Это пытается разделить вывод команды мерзавца на регулярных выражениях шаблона произвольного число раз - следовательно, {*}
- и для каждого матча помещает результат в файл. Полученные файлы - если они есть - имеют форму commit-n
и создаются в текущем каталоге. Затем их можно просмотреть в порядке less
от самого нового до самого старого.
Чтобы полностью понять параметры csplit
, поиск man csplit
.
В чем проблема с клавишей пробела? Разве это не проще, чем ': n'? – devnull
Да, пробел/PgDn прокручиваются вниз, но легко выйти за пределы текущей фиксации или пропустить ее; Для ясности я хочу «более трудную» остановку между фиксациями. В настоящее время я ищу «^ commit», чтобы сделать его лучше. – Steve