Có thể ít hiển thị tỷ lệ xem của tập tin văn bản?


18

Như tiêu đề ngụ ý, khi tôi duyệt tệp văn bản, tôi muốn biết tỷ lệ được xem hiện tại của toàn bộ tệp văn bản.

Tôi biết rằng với tùy chọn -N, chúng tôi có thể bật số dòng, nhưng làm cách nào tôi có thể làm cho ít hiển thị số dòng của toàn bộ tệp văn bản?

cảm ơn.

Câu trả lời:


19

Nếu bạn mở một tệp với ít hơn thì nhấn Ctrl-g sẽ hiển thị số dòng hiện tại, tổng số dòng và tỷ lệ phần trăm cũng như hiển thị bên dưới:

dòng 51-100 / 185 byte 3228/5886 54% (nhấn RETURN)


1
cảm ơn. sau khi xem lại trang man, quản lý để tìm nó và nhận hai lệnh khác bằng nhau ': f' và '='. xin lỗi vì điều này.
Jichao

1
Thật không may, nó không hoạt động thông qua các đường ống, với tham số -M hoặc -m từ câu trả lời khác. Ví dụ wdiff version1.txt version2.txt | colordiff | less -RMkhông hiển thị tỷ lệ phần trăm. Hãy cho tôi biết nếu ai đó có một giải pháp hoặc cách giải quyết cho việc này. Cập nhật: giải pháp là thêm + Gg như một câu trả lời khác được giải thích.
baptx

18

Bạn có nghĩa là như với -Mchuyển đổi?


Đó chính xác là những gì tôi muốn!
Jichao

Hoặc -mnếu số dòng là không cần thiết.
Franklin Yu

1
Bạn có ý tưởng nếu có một giải pháp hoặc cách giải quyết để hiển thị tỷ lệ phần trăm khi sử dụng đường ống? Ví dụ: Tôi không thể thấy tỷ lệ phần trăm cho một khác màu được tô màu bằng lệnh này: wdiff version1.txt version2.txt | colordiff | less -RMCập nhật: giải pháp là thêm + Gg giống như một câu trả lời khác được giải thích.
baptx

6

less -M +Gg

đối với các tệp không quá lớn thì không sao, vì +G( Glệnh) đi đến hết tệp


1
Tuyệt vời cho $MANPAGERdù! Xem man man.
Tom Hale

Tuyệt vời cho colordiffquá! Vd:wdiff version1.txt version2.txt | colordiff | less -RM +Gg
baptx

4

Chỉ cần mở rộng một chút về các câu trả lời trước. Dòng lệnh:

less -M +Gg

thực hiện như sau:

-M Hiển thị vị trí hiện tại trong tệp trên dấu nhắc + Lệnh Gg RunG (đi đến cuối tệp) và g(quay lại phần đầu của tệp)

Nếu lessđang đọc từ stdin, điều này xảy ra khi manđang hiển thị trang man, thì nó không biết trước tổng số dòng trong tệp, để nó có thể tính toán chính xác vị trí của nó. Do đó, +Gglà cần thiết để lesscó thể có được tổng số dòng và do đó tính toán vị trí hiện tại dưới dạng phần trăm.

Tôi thấy hữu ích khi đặt các biến này trong ~ / .bashrc :

export LESS+='-M'
export MANPAGER='less +Gg'

LESSsẽ đảm bảo rằng tất cả các yêu cầu lesssẽ hiển thị vị trí hiện tại trên dấu nhắc và MANPAGERsẽ đảm bảo rằng lesssẽ có thể nhận được tổng số dòng trong trang man, lesssau đó sẽ hiển thị trên dấu nhắc. Nó dường như là hợp lý hơn không bao gồm +Ggtrong LESSđể ngăn chặn lesstừ cố gắng để đi đến tận cùng của đầu vào đường ống có tiềm năng lớn. Nếu cần thiết, người ta luôn có thể chạy các lệnh Ggbằng tay.


+1 cho cách thủ công, nhấnGg
wvducky

Tại sao phải đặt dấu cộng "LESS +" trong ví dụ của bạn? Không nên chỉ viết "xuất LESS = 'M'" là đủ?
db

@db, LESS + = '- M' sẽ nối thêm tùy chọn -M vào bất kỳ tùy chọn nào đã được đặt trước đó cho LESS
Paulo Marcel Coelho Aragão
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.