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


169

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

Ответы:


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: в одну сторону . Но это не экономит время на больших файлах, потому что весь файл должен быть распакован.
Деннис Уильямсон


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находит следующее совпадение шаблона. Так обычно используется поиск.


2

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


1

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

alt + "end-key"

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


-1

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

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

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

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


Мне не нужно catс grep-grep $StRING $FILENAME | less
Ли Джи

Имхо, это совершенно другой вопрос.
Ярослав Никитенко,

-1

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

  • Откройте файл меньше
  • Прямой поиск: введите ключ /
  • Обратный поиск: введите ключ?
  • Для обоих предыдущих: введите поисковый запрос сейчас
  • Нажмите Ввод
  • Нажмите n, чтобы найти следующую находку
  • Нажмите N, чтобы найти предыдущую находку
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.