Як використовувати `cat`, щоб побачити верхню частину дуже довгого файлу?


18

Я хотів би знати, як це зробити

cat my-verylong-file

і покажіть це зверху замість кінця. Як і команда людини .


5
Для повноти існує також moreкоманда ... але оскільки moreвона менш здатна, ніж lessце, то дуже вірно, що "менше - більше". Нарешті, є також pg"сторінка". Ви також можете використовувати ці команди з трубами - наприклад. ls -l | lessщоб розбити дуже довгий список файлів на кілька сторінок. І ти навіть міг би скористатися cat my-verylong-file | less.
Бард Копперуд

Також варто зазначити, що "за замовчуванням людина використовує / usr / bin / less -є". man man)
Цифрова травма

Відповіді:


43

Використовуйте less, що покаже файл зверху, що дозволяє прокручувати його, як і man:

less my-verylong-file
  • Натисніть, qщоб вийти.

Якщо вам просто цікаво побачити п ять перших рядків файлу, headможливо, це альтернатива:

head -n 25 filename

покаже 25 перших рядків файлу.

Те саме для п яти останніх рядків файлу з tail:

tail -n 25 filename

2
lessможе використовуватися також для прокрутки дуже довгих результатів команд. Тут представлений приклад: ls -laR --color=always ~/ | less -R.
pa4080

2
І назва команди "менше" - це каламбур на ім'я команди "більше" (яке воно більш-менш замінює), яке, в свою чергу, було названо від підказки "- більш". У MacOS виявляється, що більше - це те саме бінарне, що й менше, тому метаморфоза завершена :)
Thorbjørn Ravn Andersen

5
Отже, більш-менш те саме?
Райан Ліч

1
@ pa4080: ви можете налаштувати lessтак, що -Rце ввімкнено за замовчуванням. Дивіться мою відповідь.
Пітер Кордес

@RyanTheLeach more і less : те саме :)
chepner

11

manвикористовується less(1)як пейджер за замовчуванням. Використовуйте його замість cat. Дивіться також відповідь @ vidarlo .

Як налаштувати less щоб зробити це ще краще:

Мені подобається alias m=less, тому це просто однолітерна команда, тому що я її весь час набираю. Поставити а|m кінець будь-чого, передає його в пейджер.

Ви можете поставити такі параметри, як -iMRj5Xу псевдонімі (наприклад alias m='less -iMRX), але я це роблю зі своїм ~/.lesskeyфайлом. (Див. lesskey(1))

  • -i: пошукові записи не залежать від регістру (якщо ви не використовуєте великих літер)
  • -M: довший рядок стану, що показує номер рядка та відсоток файлу
  • -R: дозвольте кілька контрольних кодів наскрізь, щоб ви могли передати кольорові команди на менше.
  • -X: не перемикайтеся на "альтернативний" екран емулятора терміналу, тому все, що ви дивилися, все одно буде там, коли ви не qкористуєтесь less. (чудово підходить для сторінок man після того, як ви знайдете потрібний варіант і хочете переглянути його під час введення.)
  • -j5: пошук ставить цільовий рядок у рядок 5 замість верхньої частини екрана. Таким чином, ви можете бачити контекст з обох сторін результату пошуку. (Іноді я змінюю це інтерактивно, набравши -j40щось усередині less, якщо це найкорисніше бачити контекст перед пошуковим зверненням).

Я також зв'язуватися .з next-file, і ,до prev-file, тому що прив'язки за замовчуванням є дві окремих символів , які набагато повільніше типу: :nі :p.


Це моє .lesskey:

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

Запустіть, lesskeyщоб "компілювати" його в ~/.less.

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


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