Tôi đang sử dụng 'tail -f' để theo dõi tệp nhật ký khi tệp được cập nhật; tiếp theo tôi viết kết quả đầu ra của lệnh đó thành grep để chỉ hiển thị các dòng có chứa một cụm từ tìm kiếm ("org.springframework" trong trường hợp này); Cuối cùng tôi muốn làm là đường ống đầu ra từ grep để một lệnh thứ ba, 'cắt':Làm thế nào để bạn đầu vào đường ống thông qua grep để tiện ích khác?
tail -f logfile | grep org.springframework | cut -c 25-
Lệnh cắt sẽ loại bỏ 25 ký tự đầu tiên của mỗi dòng cho tôi nếu nó có thể có được đầu vào từ grep! (Nó hoạt động như mong đợi nếu tôi loại bỏ 'grep' khỏi chuỗi.)
Tôi đang sử dụng Cygwin với bash.
Kết quả thực tế: Khi tôi thêm ống thứ hai để kết nối với lệnh 'cắt', kết quả là nó treo, như thể nó đang chờ đầu vào (trong trường hợp bạn đang băn khoăn).
Nếu tôi dừng lại sau khi grep (không có ống để 'cắt') , nó hoạt động (không tước 24 ký tự đầu tiên hoặc 25 ký tự đầu tiên). – les2
Vấn đề thực sự ở đây, đó là 'tail -f' không bao giờ kết thúc, vì vậy phần còn lại của đường ống tiếp tục chờ đợi thêm đầu vào – Hasturkun