2012-07-25 14 views
5

Tôi lưu trữ dữ liệu từ đầu ra nc trong một tệp 24/7 giờ. Nó là một bộ ghi dữ liệu nhiệt độ. Tệp này amroutput sẽ hết thời gian. (Cứ 10 giây một dòng). Đối với một ứng dụng tôi sẽ có mục nhập cuối cùng trong một tệp amr_last_output. Vì vậy, tôi sử dụng:đuôi chuyển hướng unix thành tệp

tail -f -n1 amroutput > amr_lastoutput. 

Với > tôi sẽ ghi đè lên file amr_lastoutput mọi khi tal làm cho một đầu ra. Trên mac osx chúng ta là đầu ra của đuôi cho tệp đầu ra được nối thêm, như trong lệnh >>. Tôi có thể làm gì?

Cảm ơn bạn đã trả lời!

+2

Tôi không chắc tôi hiểu, bạn đang nói '>>' không làm những gì bạn mong đợi trên hệ thống Unix của bạn? Nó sẽ hoạt động giống như trên Mac OSX (phụ thêm vào tệp). –

+0

Bạn có thể không muốn sử dụng '-f' (theo dõi) cho việc này. – Thor

+0

Tôi sẽ có chế độ ghi đè (>) cho đầu ra đuôi trên một tệp chứ không phải chế độ nối thêm (>>). có hai quy trình trong backround, đầu tiên: 'nc 192.168.xx 10001> amroutput &' và thứ hai: tail -f -n1 amroutput> amr_lastoutput & ' – steff

Trả lời

0

Tôi đang chờ xác nhận của bạn cho nhận xét trước đó của tôi. Nhưng trong khi chờ đợi, tôi sẽ giả định sự khẳng định và đưa ra cho bạn một giải pháp được đề xuất.

Đặt một! ở phần cuối của> hoặc >> ← liên kết sẽ tắt mặc định "noclobber" switch đó ngăn chặn ghi đè lên một file đang tồn tại:

tail -f -n1 amroutput >! amr_lastoutput 

Nếu điều này không làm việc cho bạn, cho tôi biết và chúng tôi có thể thử cái gì khác .

+0

xin lỗi, tôi chưa xác nhận nhận xét của bạn. đuôi mà không có -f và '>!' cũng không hoạt động. – steff

+1

the>! tùy chọn lưu trữ đầu ra của đuôi trong một tệp có tên '!' trong chế độ phụ thêm – steff

0

chuyển hướng '>' của đuôi chỉ một lần ghi đè lên tệp đầu ra. Tôi sử dụng vòng lặp while với chế độ ngủ và chạy lệnh đuôi định kỳ.

Cảm ơn tất cả!