Làm thế nào để sử dụng `cat` để xem phần đầu của một tệp rất dài?


18

Tôi muốn biết làm thế nào để

cat my-verylong-file

và hiển thị nó từ đầu thay vì kết thúc. Giống như lệnh người đàn ông nào.


5
Để hoàn thiện, cũng có morelệnh ... nhưng vì moreít khả năng hơn less, nên rất đúng là "càng ít càng nhiều". Cuối cùng cũng có pg"trang". Bạn cũng có thể sử dụng các lệnh này với các đường ống - ví dụ. ls -l | lessđể phá vỡ một danh sách tập tin rất dài thành nhiều trang. Và bạn thậm chí có thể sử dụng cat my-verylong-file | less.
Baard Kopperud

Cũng đáng chỉ ra rằng "Theo mặc định, con người sử dụng / usr / bin / less -is." (từ man man).
Chấn thương kỹ thuật số

Câu trả lời:


43

Sử dụng less, sẽ hiển thị tệp từ đầu, cho phép bạn cuộn qua nó, giống như man:

less my-verylong-file
  • Nhấn qđể thoát.

Nếu bạn chỉ muốn xem n dòng đầu tiên của tệp, headcó thể là một thay thế:

head -n 25 filename

sẽ hiển thị 25 dòng đầu tiên của tập tin.

Điều tương tự cho n dòng cuối cùng của tệp với tail:

tail -n 25 filename

2
lesscũng có thể được sử dụng để cuộn các đầu ra rất dài của các lệnh. Dưới đây là một ví dụ : ls -laR --color=always ~/ | less -R.
pa4080

2
Và tên lệnh "less" là một cách chơi chữ của tên lệnh "more" (mà nó ít nhiều thay thế) mà lần lượt được đặt tên từ dấu nhắc "--More" mà nó đưa ra. Trong MacOS, dường như nhiều hơn là nhị phân giống như ít hơn nên sự biến thái đã hoàn tất :)
Thorbjørn Ravn Andersen

5
Vì vậy, nhiều hay ít điều tương tự?
Ryan The Leach

1
@ pa4080: bạn có thể thiết lập lessđể -Rđược bật theo mặc định. Xem câu trả lời của tôi.
Peter Cordes

@RyanTheLeach more less : điều tương tự :)
chepner

11

mansử dụng less(1)như một máy nhắn tin theo mặc định. Sử dụng nó thay vì cat. Xem thêm câu trả lời của @ vidarlo .

Làm thế nào để tùy chỉnh lessđể làm cho nó thậm chí còn tốt hơn:

Tôi thích alias m=less, vì vậy nó chỉ là một lệnh đơn, bởi vì tôi gõ nó mọi lúc. Đặt một |mở cuối của bất cứ điều gì ống nó vào một máy nhắn tin.

Bạn có thể đặt các tùy chọn như -iMRj5Xtrong bí danh (ví dụ alias m='less -iMRX), nhưng tôi làm điều đó với ~/.lesskeytệp của mình . (Xem lesskey(1)).

  • -i: các tìm kiếm không phân biệt chữ hoa chữ thường (trừ khi bạn sử dụng bất kỳ chữ in hoa nào)
  • -M: dòng trạng thái dài hơn, hiển thị số dòng và phần trăm tệp
  • -R: cho phép một số mã điều khiển thông qua, do đó bạn có thể chuyển các lệnh được tô màu thành ít hơn.
  • -X: không chuyển sang màn hình "thay thế" của trình giả lập thiết bị đầu cuối, vì vậy bất cứ điều gì bạn đang nhìn sẽ vẫn ở đó khi bạn qrời khỏi less. (tuyệt vời cho các trang man sau khi bạn tìm thấy tùy chọn bạn muốn và muốn xem nó trong khi gõ nó.)
  • -j5: tìm kiếm đặt dòng đích ở hàng 5 thay vì trên cùng của màn hình. Vì vậy, bạn có thể thấy bối cảnh trên cả hai mặt của kết quả tìm kiếm của bạn. (Đôi khi tôi thay đổi điều này một cách tương tác, bằng cách nhập -j40hoặc một cái gì đó bên trong less, nếu nó hữu ích nhất để xem ngữ cảnh trước khi tìm kiếm nhấn).

Tôi cũng ràng buộc .để next-file, và ,để prev-file, bởi vì các ràng buộc mặc định là hai nhân vật riêng biệt mà là nhiều chậm gõ: :n:p.


Đây là của tôi .lesskey:

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

Chạy lesskeyđể "biên dịch" nó thành a ~/.less.

Điều này có lẽ quan trọng hơn 20 năm trước, nhưng lessđọc tệp nhị phân đó thay vì phân tích tệp cấu hình văn bản mỗi khi nó khởi động.


@Dan: Đã thêm một dòng ở đầu để câu trả lời này có thể tự đứng như một câu trả lời cho câu hỏi. Tôi nghĩ rằng để lại phần ngầm đó sẽ đủ cho câu trả lời khác, nhưng nếu tôi không phản đối việc làm cho nó rõ ràng nếu nó làm phiền bạn.
Peter Cordes
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.