Hợp nhất hai kết quả lệnh thành một dòng khi chuyển hướng thiết bị xuất chuẩn


8

Trong tập lệnh cron tôi muốn ghi lại nhiệt độ CPU theo định dạng

[datetime] temp

sử dụng dateacpi -t. Làm cách nào tôi có thể chuyển hướng ( >>) hai lệnh này thành một dòng trong tệp nhật ký?

Câu trả lời:


11

Hãy thử đơn giản làm:

echo $(date) $(acpi -t) >> your_log_file

Bạn có thể muốn chỉ định một định dạng ngày nhỏ gọn để làm cho tệp nhật ký của bạn dễ phân tích cú pháp hơn và độc lập với các cài đặt môi trường / ngôn ngữ ( $(date +"%Y%m%d %H%M%S")ví dụ như ví dụ).


4

có lẽ trên các hệ thống cũ hơn (solaris8 fe ^^) mà không cần bash:

x=`date '+%Y%m%d %H%M%S'`; y=`acpi -t`; echo "$x $y" >>your_log_file

1
Ngay cả Solaris 8 cũng hiểu $(…), đó là tuân thủ POSIX. Nhưng bạn phải sử dụng /usr/xpg4/bin/shthay vì /bin/sh, Solaris 8 /bin/shvẫn là vỏ Bourne.
Gilles 'SO- ngừng trở nên xấu xa'

Aaah, không bao giờ được sử dụng / usr / xpg4 / bin / sh, chúng tôi sẽ tiết kiệm được một số nỗ lực những ngày đó chỉ bằng cách sử dụng vỏ Bourne.
sói

Thích cái này ...
mikiemorales 18/07/14
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.