Как использовать `cat` для просмотра верхней части очень длинного файла?

Я хотел бы знать, как

cat my-verylong-file

показать его сверху, а не конец. Как и команда man.

15
задан 18 September 2017 в 14:29

6 ответов

Используйте less, который отобразит файл сверху, позволяя вам прокручивать его, как man:

less my-verylong-file
Нажмите q, чтобы выйти.

Если вам просто интересно увидеть n первых строк файла, head может быть альтернативой:

head -n 25 filename

покажет 25 первых строк файла .

То же самое для n последних строк файла с tail:

tail -n 25 filename
38
ответ дан 22 May 2018 в 18:23
  • 1
    less может также использоваться для прокрутки очень длинных выходов команд. Здесь представлен пример: ls -laR --color=always ~/ | less -R. – pa4080 17 September 2017 в 13:32
  • 2
    И имя команды "less " представляет собой каламбур по имени команды "more " (который он более или менее заменяет), который, в свою очередь, был назван в списке «- Больше». подскажите его. В MacOS кажется, что больше того же двоичного кода, что и меньше, метаморфоза завершена :) – Thorbjørn Ravn Andersen 18 September 2017 в 09:25
  • 3
    Так, более или менее одно и то же? – Ryan The Leach 18 September 2017 в 10:21
  • 4
    @ pa4080: вы можете настроить less, поэтому -R включен по умолчанию. См. Мой ответ. – Peter Cordes 18 September 2017 в 10:49
  • 5
    @RyanTheLeach more и less: то же самое :) – chepner 18 September 2017 в 18:28

Используйте less, который отобразит файл сверху, позволяя вам прокручивать его, как man:

less my-verylong-file Нажмите q, чтобы выйти.

Если вам просто интересно увидеть n первых строк файла, head может быть альтернативой:

head -n 25 filename

покажет 25 первых строк файла .

То же самое для n последних строк файла с tail:

tail -n 25 filename
38
ответ дан 18 July 2018 в 06:42

Используйте less, который отобразит файл сверху, позволяя вам прокручивать его, как man:

less my-verylong-file Нажмите q, чтобы выйти.

Если вам просто интересно увидеть n первых строк файла, head может быть альтернативой:

head -n 25 filename

покажет 25 первых строк файла .

То же самое для n последних строк файла с tail:

tail -n 25 filename
38
ответ дан 24 July 2018 в 18:39

man по умолчанию использует less(1) в качестве пейджера. Используйте его вместо cat. См. Также ответ @ vidarlo.

Как настроить less, чтобы сделать его еще лучше:

Мне нравится alias m=less, так что это всего лишь однобуквенная команда, потому что я введите его все время.

В псевдониме вы можете поместить -iMRj5X в псевдоним (например, alias m='less -iMRX), но я делаю это с помощью моего ~/.lesskey файл. ( less(1) ).

-i: поиск не зависит от регистра (если вы не используете прописные буквы) -M: более длинная строка состояния, показывающая номер строки и file-percent -R: разрешить некоторые управляющие коды, чтобы вы могли сократить количество раскрашенных команд. -X: не переключайтесь на «альтернативный» экран эмулятора терминала, поэтому все, что вы смотрите, все равно будет присутствовать, когда вы q выбрали less. (отлично подходит для man-страниц после того, как вы найдете нужную опцию, и хотите просмотреть ее при вводе текста.) -j5: поиск помещает целевую строку в строку 5 вместо верхней части экрана. Таким образом, вы можете увидеть контекст с обеих сторон вашего результата поиска. (Иногда я меняю это интерактивно, набрав -j40 или что-то внутри less, если наиболее полезно увидеть контекст перед ударом поиска).

Я также связываю . с next-file и , с prev-file, потому что привязки по умолчанию - это два отдельных символа, которые намного медленнее: f16] и :p.

Это мой .lesskey:

$ cat .lesskey
. next-file
, prev-file
#env
LESS = iMRj5X

Запустите lesskey, чтобы «скомпилировать» его в [ f29].

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

9
ответ дан 22 May 2018 в 18:23
  • 1
    @Dan: добавлена ​​строка наверху, поэтому этот ответ может стоять сам по себе как ответ на вопрос. Я думал, что оставить эту часть неявным будет достаточно, учитывая другой ответ, но если у меня нет возражений против его явного, если это вас беспокоит. – Peter Cordes 18 September 2017 в 12:10

man по умолчанию использует less(1) в качестве пейджера. Используйте его вместо cat. См. Также ответ @ vidarlo.

Как настроить less, чтобы сделать его еще лучше:

Мне нравится alias m=less, так что это всего лишь однобуквенная команда, потому что я введите его все время.

В псевдониме вы можете поместить -iMRj5X в псевдоним (например, alias m='less -iMRX), но я делаю это с помощью моего ~/.lesskey файл. ([D1] less(1) ).

-i: поиск не зависит от регистра (если вы не используете прописные буквы) -M: более длинная строка состояния, показывающая номер строки и file-percent -R: разрешить некоторые управляющие коды, чтобы вы могли сократить количество раскрашенных команд. -X: не переключайтесь на «альтернативный» экран эмулятора терминала, поэтому все, что вы смотрите, все равно будет присутствовать, когда вы q выбрали less. (отлично подходит для man-страниц после того, как вы найдете нужный вариант, и хотите посмотреть на него, набирая его.) -j5: поиск помещает целевую строку в строку 5 вместо верхней части экрана. Таким образом, вы можете увидеть контекст с обеих сторон вашего результата поиска. (Иногда я меняю это интерактивно, набрав -j40 или что-то внутри less, если наиболее полезно увидеть контекст перед ударом поиска).

Я также связываю . с next-file и , с prev-file, потому что привязки по умолчанию - это два отдельных символа, которые намного медленнее: f16] и :p.

Это мой .lesskey:

$ cat .lesskey . next-file , prev-file #env LESS = iMRj5X

Запустите lesskey, чтобы «скомпилировать» его в ~/.less.

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

9
ответ дан 18 July 2018 в 06:42

man по умолчанию использует less(1) в качестве пейджера. Используйте его вместо cat. См. Также ответ @ vidarlo.

Как настроить less, чтобы сделать его еще лучше:

Мне нравится alias m=less, так что это всего лишь однобуквенная команда, потому что я введите его все время.

В псевдониме вы можете поместить -iMRj5X в псевдоним (например, alias m='less -iMRX), но я делаю это с помощью моего ~/.lesskey файл. ([D1] less(1) ).

-i: поиск не зависит от регистра (если вы не используете прописные буквы) -M: более длинная строка состояния, показывающая номер строки и file-percent -R: разрешить некоторые управляющие коды, чтобы вы могли сократить количество раскрашенных команд. -X: не переключайтесь на «альтернативный» экран эмулятора терминала, поэтому все, что вы смотрите, все равно будет присутствовать, когда вы q выбрали less. (отлично подходит для man-страниц после того, как вы найдете нужную опцию, и хотите просмотреть ее при вводе текста.) -j5: поиск помещает целевую строку в строку 5 вместо верхней части экрана. Таким образом, вы можете увидеть контекст с обеих сторон вашего результата поиска. (Иногда я меняю это интерактивно, набрав -j40 или что-то внутри less, если наиболее полезно увидеть контекст перед ударом поиска).

Я также связываю . с next-file и , с prev-file, потому что привязки по умолчанию - это два отдельных символа, которые намного медленнее: f16] и :p.

Это мой .lesskey:

$ cat .lesskey . next-file , prev-file #env LESS = iMRj5X

Запустите lesskey, чтобы «скомпилировать» его в ~/.less.

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

9
ответ дан 24 July 2018 в 18:39
  • 1
    @Dan: добавлена ​​строка наверху, поэтому этот ответ может стоять сам по себе как ответ на вопрос. Я думал, что оставить эту часть неявным будет достаточно, учитывая другой ответ, но если у меня нет возражений против его явного, если это вас беспокоит. – Peter Cordes 18 September 2017 в 12:10

Другие вопросы по тегам:

Похожие вопросы: