Я пишу небольшой скрипт оболочки, который должен перевернуть строки текстового файла. Существует ли стандартная команда фильтра для такого рода действий?
Мое конкретное приложение состоит в том, что я получаю список идентификаторов коммитов Git и хочу обработать их в обратном порядке:
git log --pretty=oneline work...master | grep -v DEBUG: | cut -d' ' -f1 | reverse
Лучшее, что я придумал, это реализовать reverse
так:
... | cat -b | sort -rn | cut -f2-
При этом используется cat
для нумерации каждой строки, затем sort
для сортировки их в порядке убывания номеров (что приводит к обращению всего файла), затем cut
для удаления ненужного номера строки.
Вышеприведенное работает для моего приложения, но может не сработать в общем случае, поскольку cat -b
только нумерует непустые строки.
Есть ли лучший, более общий способ сделать это?