đuôi -f nhưng hút nội dung của tệp trước (còn gọi là `cat -f`)


9

Tôi cần hiển thị toàn bộ tập tin trước khi theo dõi nó để thay đổi mới, không chỉ 10 dòng cuối cùng (vâng, tôi biết đó không phải là đuôi theo khái niệm). Nói cách khác, một cái gì đó như cat -fsẽ làm, nếu nó từng tồn tại. Người đàn ông của Tail không cho tôi bất kỳ ý tưởng. Tùy chọn duy nhất tôi thấy ngay bây giờ là bằng cách nào đó kết hợp tất cả trừ 10 dòng cuối cùng và đầu ra đuôi .

Bất kỳ gợi ý, xin vui lòng?


3
cat $f && tail -n0 -f $fđến với tâm trí và kiểm tra trang người đàn ông có vẻ như tail -c0 -f $fcũng có thể làm những gì bạn muốn (và tốt hơn vì nó không tạo ra một điều kiện chạy đua giữa hai quy trình mà dữ liệu được viết có thể bị bỏ qua). Tôi không có quyền truy cập vào hệ thống Linux ngay bây giờ nhưng liệu ai trong số họ có làm những gì bạn muốn không?
một CVn

Điều này rất hữu ích và tôi vừa thêm một tính năng như vậy vào ngôn ngữ lập trình: "luồng đuôi" có thể đọc một tệp bình thường từ đầu đến cuối, và sau đó chuyển sang chế độ "tail -f" ở cuối, và cũng có thể nhận thấy rằng các tập tin đã được thay thế bằng một ngắn hơn hoặc cắt ngắn, và làm theo đó. Bạn cần điều này để có thể thực hiện những việc như xử lý nhật ký hiện có (bắt kịp với tồn đọng) và sau đó bắt đầu xử lý các mục mới.
Kaz

Câu trả lời:


14

Đây là một cách để làm điều đó:

tail -f -n+0 /var/log/messages

Dường như không có bất kỳ sự khác biệt nào giữa a +0và a +1, vì vậy điều này sẽ tương đương:

tail -f -n+1 /var/log/messages

2
Phần có liên quan của trang man (lưu mọi người gõ) ... -n, --lines = K xuất K dòng cuối cùng, thay vì 10 dòng cuối cùng; hoặc sử dụng -n + K để xuất các dòng bắt đầu bằng
con nhím
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.