Как читать в обратном направлении от конца файла меньше или больше?

169

До сих пор я нашел один способ: файл + less + G, но он прокручивается только вверх, строка за строкой. Что является более мощным, чем использование, которое обеспечивает прокрутку по странице, поиск по шаблону назад и так далее?

yetanothercoder
источник

Ответы:

225

Я уверен, что у кого-то есть лучший ответ, но

С «меньше» после того, как вы открыли файл:

G goes to the bottom of the file

^b goes up one page

? searches backwards.

Как вы сказали, вы можете открыть файл с помощью + G, а затем использовать? и ^ b, чтобы прокрутить вверх. Вероятно, в скрипте есть умные вещи, которые вы можете сделать, чтобы добиться того же.

Крис
источник
3
Ctrl-b работает, но b (само по себе) также работает.
Деннис Уильямсон
К сожалению! Я настолько обусловлен, чтобы использовать клавиши vi, что я просто использую их в меньшем количестве. Да - b перемещает вас на страницу меньше, но только назад на одно слово за раз в vi. Я нетерпелив; Я хочу страницу за раз, и мой мозг размером с грецкий орех не может вспомнить, иногда я нахожусь в vi или меньше ...
Крис
2
меньше вашего файла, затем наберите 'h' =>, и вы получите хорошее руководство по каждой операции. Очень аккуратно, нет необходимости во внешних руководствах или справочной ИМО.
Харски
6
на самом деле, ? = shift + /, /является поиск вперед.
ХунбоЖу
На самом деле Shift + Gидет в
конец
82

Для разнообразия, если вы действительно хотите / должны прочитать файл задом наперед (последняя строка первая):

tac filename | less
Деннис Уильямсон
источник
1
Это в основном linux / gnuism ...
Крис
55
Интересный факт: tacв catобратном направлении
dKen
7
Это было имя моего кота детства. Я не думаю, что понял почему до сих пор.
вон
Кто-нибудь слышал что-нибудь, как ztacдля сжатых файлов (то есть, zcatно в обратном направлении)?
ирбанана
1
@irbanana: в одну сторону . Но это не экономит время на больших файлах, потому что весь файл должен быть распакован.
Деннис Уильямсон
7

wидет вверх по странице. ?делает обратный поиск. hвызывает онлайн-справку.

Игнасио Васкес-Абрамс
источник
4

хвост -r | Меньше

Я не знаю, почему никто не подумал об этом. Хвост захватывает конец файла действительно легко. -R не распространенный вариант?

Крисса Кентавр
источник
Использование tail (GNU coreutils) 8.13 в Ubuntu 12.02 здесь. Нет такой опции как -r.
JHH
Я думаю, что tail -rэто вещь BSD / macOS - таких сред нет tac.
fzzfzzfzz
4

использовать:

less +F /path/to/your/file

это меньше, но начиная с самого низа. Используйте клавишу со стрелкой вверх, чтобы перейти назад строка за строкой или ctl + b, чтобы перейти постранично.

Рубен Эстрада
источник
4
Это не только идет в конец файла, но и ждет дополнительного вывода в конце, например tail -f. Если это не то, что вы хотите, вы должны использовать +Gвместо этого.
Майкл Хэмптон
Вы правы @MichaelHampton
Рубен Эстрада
2

Я удивлен, что никто не поднял это раньше, но:

?patternищет шаблон в обратном направлении.

N находит предыдущее совпадение шаблона (то есть поиск в обратном направлении).

Для справки /patternищет шаблон вперед и nнаходит следующее совпадение шаблона. Так обычно используется поиск.

dr01
источник
2

Во время использования moreили journalctl -xeиспользования пробела уходит 1 страница вниз. Это сработало для меня. Надеюсь это поможет.

Шубхам Сингх
источник
1

Другой вариант, после того как вы начали меньше с файла:

alt + "end-key"

Под «конечной клавишей» я подразумеваю клавишу, которая обычно расположена ниже «домашней клавиши» на клавиатуре.

риа
источник
-1

Если вы ищете что-то конкретное, это может сделать это:

cat yourfile.txt | grep "something specific" | less

Я использую его для поиска файлов журнала. Это все еще в «неправильном» порядке, но гораздо короче.

Прочитав ответ Денниса Уильямсона, это мой новый метод =)

Rudie
источник
Мне не нужно catс grep-grep $StRING $FILENAME | less
Ли Джи
Имхо, это совершенно другой вопрос.
Ярослав Никитенко,
-1

Возможно, некоторые люди не поняли, что значит dr01 . Я пытаюсь выразить это другими словами.

  • Откройте файл меньше
  • Прямой поиск: введите ключ /
  • Обратный поиск: введите ключ?
  • Для обоих предыдущих: введите поисковый запрос сейчас
  • Нажмите Ввод
  • Нажмите n, чтобы найти следующую находку
  • Нажмите N, чтобы найти предыдущую находку
keocra
источник