Перехід до певного номера рядка, використовуючи Менше в Unix


354

У мене є файл, який містить близько мільйона рядків. Мені потрібно перейти до рядка № 320123, щоб перевірити дані. Як це зробити?


1
Що з цим робити more? :-)
matanster

Відповіді:


491

З nномером рядка:

  • ng: Перейти до номера рядка n. За замовчуванням - це початок файлу.
  • nG: Перейти до номера рядка n. За замовчуванням - це кінець файлу.

Отже, щоб перейти до рядка № 320123, ви наберете 320123g.

Скопіюйте-вставте прямо з Вікіпедії .


3
... і не натискайте Enter після g, або ви перейдете ще один рядок.
HongboZhu

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 вирішив взяти частину вашої відповіді за їх відображену відповідь під час googling: «менше переходьте до рядка» (хороша відповідь imo)
Маттіас

4

Для редагування це можливо за nanoдопомогою +nкомандного рядка, наприклад,

nano +16 file.txt

Відкрити file.txtлінію 16.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.