Я пишу небольшую оболочку script, которая должна перевернуть строки текстового файла. Есть ли стандартная команда фильтра, чтобы делать такие вещи?
Моим конкретным приложением является то, что я получаю список 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 содержит только номера непустых строк.
Есть ли лучший, более общий способ сделать это?