Có ít tính năng như đuôi --follow = name (-F)


41

Lệnh lesscó thể được sử dụng để thay thế tailtrong

tail -f file

để cung cấp các tính năng như xử lý đầu ra nhị phân và điều hướng cuộn ngược lại:

less +F file

Các +phương tiện tiền tố "giả vờ tôi gõ rằng sau khi khởi động", và chìa khóa Fkhởi động sau.

Nhưng lesscũng có thể thay thế

tail --follow=name file

Điều này xảy ra filengay cả khi tệp thực tế bị xóa hoặc di chuyển đi, như tệp nhật ký được di chuyển đến file.log.1, và sau đó một tệp mới được tạo với cùng tên với tệp tiếp theo?


1
Bạn có thể thử với less --follow-namehoặcless --follow-name +F
don_crissti

@don_crissti Nice ... less --follow-name +Flà nó - không biết làm thế nào tôi bỏ lỡ điều đó - tôi khá chắc chắn rằng tôi đã tìm kiếm trang người đàn ông cho follow... lạ. Làm cho nó một câu trả lời!
Volker Siegel

Chà, một số tìm kiếm khác cho thấy nó đã được hỏi và trả lời ở đây vì vậy tôi sẽ để lại như một bình luận. Bạn luôn có thể upvote câu trả lời ở đó.
don_crissti

@don_crissti Phải ... ngoại trừ câu trả lời đúng của bạn không được tìm thấy ở đó - --follow-nameđược mô tả, nhưng +Fkhông bao giờ được đề cập và tôi nghĩ nó khá quan trọng vì rõ ràng nó không được biết đến rộng rãi.
Volker Siegel

Nếu bạn đến đây vì tìm kiếm Google less follow, hãy đọc CÂU HỎI. Nó đã trả lời làm thế nào để thực hiện lesstheo thay đổi tập tin!
Hubert Grzeskowiak

Câu trả lời:


40

Có, lesscó thể theo tên tập tin

Tính năng này có một cú pháp khá tối nghĩa:

less --follow-name +F file.log

Với ít hơn, --follow-namelà khác nhau từ các tailtùy chọn --follow=name.
Nó không thực hiện lesstheo tệp, thay vào đó nó sửa đổi hành vi của khóa lệnh Fbên trong ít hơn để làm theo dựa trên tên tệp, không phải mô tả tệp.

Ngoài ra, không có tùy chọn bình thường để bắt đầu lesstrong chế độ theo dõi.
Nhưng bạn có thể sử dụng dòng lệnh để cung cấp tổ hợp phím để thực thi sau khi khởi động, bằng cách thêm tiền tố vào chúng +.
Kết hợp tùy chọn sửa đổi với +F, lessthực sự sẽ bắt đầu trong chế độ theo dõi (sửa đổi).

Sử dụng +Fmột mình cho tương đương với đồng bằng tail -f:

less +F file.log

Tôi nghi ngờ rằng nếu bạn theo một luồng vô hạn với ít hơn, điều này cuối cùng sẽ làm cạn kiệt bộ nhớ của bạn bởi vì không giống như đuôi -f, lượng bộ nhớ được sử dụng không bị giới hạn bởi giới hạn cuộn ngược của thiết bị đầu cuối (trừ khi giới hạn cuộn ngược của thiết bị đầu cuối cũng là vô hạn). less + F phải lưu toàn bộ lịch sử cuộn lại và không thể dựa vào tải lại các lát từ một tệp trên đĩa cứng.
CMCDragonkai

@CMCDragonkai Điểm thú vị. lesscó các tùy chọn để kiểm soát kích thước bộ đệm được sử dụng cho mỗi tệp ( -b-B), đối với tôi mặc định kích thước có bị giới hạn không.
Volker Siegel

Trang hướng dẫn -Bnói rằng "Theo mặc định, khi dữ liệu được đọc từ một đường ống, bộ đệm được phân bổ tự động khi cần. Nếu một lượng lớn dữ liệu được đọc từ đường ống, điều này có thể khiến một lượng lớn bộ nhớ được phân bổ. Tùy chọn -B vô hiệu hóa việc phân bổ bộ đệm tự động cho các đường ống, do đó chỉ 64 K (hoặc lượng không gian được chỉ định bởi tùy chọn -b) được sử dụng cho đường ống. ". Vì vậy, điều đó có nghĩa là khi đọc từ một ống vô hạn, bộ nhớ vô hạn được phân bổ theo mặc định, nhưng nếu đọc từ một tệp như tệp nhật ký, thì các lát 64 K được sử dụng theo mặc định.
CMCDragonkai

4

Trong Fedora ít nhất có tùy chọn + F tuân theo nội dung của tệp giống như đuôi -f.

Cập nhật, hãy thử nhấn F trong ít hơn để chuyển sang chế độ theo


Bạn có chắc không? My less có một tùy chọn xung đột được đặt tên giống nhau , -F: Trang người đàn ông ít nói : -F or --quit-if-one-screen. Bạn có phiên bản lessnào? Của tôi nói less 458với các tùy chọn -V.
Volker Siegel


Rất thú vị, cảm ơn vì liên kết! Điều đó dường như không phải là một gnu ít. Dòng đầu tiên đầy đủ less -Vless 458 (GNU regular expressions). Xin vui lòng cho tôi phiên bản của bạn.
Volker Siegel

Có tôi chắc chắn, nhưng hãy tiếp tục và bỏ phiếu cho tôi, stackexchange cần chia sẻ tình yêu
user1529413

1
Chỉ để chắc chắn rằng bạn đã nghĩ rằng tôi đã bỏ phiếu cho bạn: Không, tôi đã ủng hộ bạn.
Volker Siegel
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.