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