7

Я открываю большой файл с помощью этой команды: less +G /var/log/blah/file.log

Теперь, когда я найду нужную информацию, я хотел бы узнать ее точное смещение в этом файле, чтобы позже я мог снова открыть этот файл и вернуться в это точное место.

Так что есть команда "% X", которая приведет меня к% внутри файла, в смещении (а не в строках!). Это хорошо, но я бы очень хотел иметь возможность перейти к точному числовому смещению в файле.

Какая команда для получения текущего смещения?
А что за команда для перехода на конкретное смещение?

И если я уже на этом, как я могу получить текущее смещение в процентах? (для использования с командой "%").

Обратите внимание, что я знаю о марках. Они не то, что я ищу.

3 ответа3

14

Получил часть моего вопроса отсюда:

100 г до 100-й линии
50p, чтобы перейти на 50% в файл
100P перейти на строку, содержащую 100-й байт

Чтобы определить номер текущей строки или смещение байта, используйте Ctrl+g.

0

В моей версии строки, отображаемые на экране, отображаются внизу.

Чтобы перейти к определенной строке, вы можете набрать <number>G

0

Предполагая, что под «смещением» вы подразумеваете байтовое смещение (в отличие от символов), вы можете использовать редактор vi и искать шаблон с

/pattern

нажмите Enter. Повторный поиск по тому же шаблону может быть повторен с

/

нажмите Enter.

Номера строк и столбцов позиции курсора отображаются в правом нижнем углу, поэтому, чтобы перейти к определенной строке, например, 201, и столбцу, скажем, 17, введите

201G17l

Это 201, заглавная G, 17, строчная l

Если ваш файл состоит только из 1 строки с вашим шаблоном со смещением 10125, то откройте его с помощью vi

$ vi my_massive_file

и введите

:goto 10125

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .