Переход к определенному номеру строки с использованием Less в Unix


355

У меня есть файл, который имеет около миллиона строк. Мне нужно перейти на номер строки 320123, чтобы проверить данные. Как я могу это сделать?


1
Что делать с этим more? :-)
matanster

Ответы:


492

С nномером строки:

  • ng: Перейти к номеру строки n. По умолчанию это начало файла.
  • nG: Перейти к номеру строки n. По умолчанию это конец файла.

Таким образом, чтобы перейти на номер строки 320123, вы должны набрать 320123g.

Скопировано прямо из Википедии .


3
... и не нажимайте ввод после g, или вы перепрыгните еще одну строку.
ХунбоЖу

211

Чтобы открыть определенную строку прямо из командной строки, используйте:

less +320123 filename

Если вы тоже хотите увидеть номера строк:

less +320123 -N filename

Вы также можете выбрать отображение определенной строки файла в определенной строке терминала, когда вам нужно несколько строк контекста. Например, это откроет файл со строкой 320123 на 10-й строке терминала:

less +320123 -j 10 filename

60

Вы можете использовать sedдля этого тоже -

sed -n '320123'p filename 

Это напечатает номер строки 320123 .

Если вы хотите диапазон, то вы можете сделать -

sed -n '320123,320150'p filename 

Если вы хотите от конкретной строки до самого конца, то -

sed -n '320123,$'p filename 

38

Изнутри меньше (в Linux):

 g and the line number to go forward

 G and the line number to go backwards

Используемые отдельно, g и G приведут вас к первой и последней строке в файле соответственно; используется с числом, они оба эквивалентны.

Пример; Вы хотите перейти к строке 320123 файла,

нажмите «g» и после двоеточия введите номер 320123

Кроме того, вы можете ввести -N внутри меньше, чтобы активировать / деактивировать номера строк. Вы можете фактически передать любые ключи командной строки изнутри программы, такие как -j или -N.

ПРИМЕЧАНИЕ. Вы можете указать номер строки в командной строке, чтобы начать меньше (меньше + число -N), что будет намного быстрее, чем это делается внутри программы:

less +12345 -N /var/log/hugelogfile

Откроется файл, отображающий номера строк и начинающийся со строки 12345.

Источник: человек на 1 меньше, а встроенная помощь меньше (меньше 418)


2
Интересно, Google решил взять часть вашего ответа для их отображаемого ответа, когда гуглил: «меньше переходи на линию» (хороший ответ imo)
Матиас

4

Для редактирования это возможно nanoчерез via +nиз командной строки, например,

nano +16 file.txt

Открыть file.txtв строке 16.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.