จะบันทึกข้อความหลายบรรทัดด้วยคำสั่ง logger ได้อย่างไร


6

ฉันต้องการที่จะบันทึกข้อความหลายบรรทัดลงในระบบบันทึกผ่านทาง commabnd

echo -e "foo\nbar" | logger

แต่มันปรากฏเป็น 2 บันทึก

เป็นไปได้หรือไม่ที่จะบันทึกเป็นบันทึกเดียว?

คำตอบ:


3

คนตัดไม้ไม่ได้มีฟังก์ชั่นนี้มันเป็นพื้นเส้นแนว - ทุกบรรทัดเป็นข้อความใหม่

ข้อความบันทึกหลายบรรทัดยังเป็นความเจ็บปวดอย่างแท้จริงในการจัดการกับการใช้สาธารณูปโภคมาตรฐานเช่น grep ฯลฯ ขึ้นอยู่กับเวลาที่มาถึงข้อความอาจแตกได้ทำให้ยากต่อการติดตามข้อมูลที่เกี่ยวข้อง

ทางออกที่ดีกว่าคือการบันทึกข้อความของคุณเป็นข้อความเดียว @Benjamin ขอแนะนำให้คุณใช้ tr หรือใช้ echo -En หากคุณจำเป็นต้องมี \ n เพื่อจุดประสงค์ในการแสดงผลในภายหลังให้ใช้ tr เพื่อเปลี่ยน \ n เป็นอักขระอื่น ๆ ที่ยูทิลิตี้ของคุณจะไม่สร้างเพื่อเขียนบันทึกและเมื่ออ่านใช้ tr เพื่อแปลงกลับเป็น \ n



0

อีกทางเลือกหนึ่ง - สมมติว่าคุณต้องการให้บรรทัดคั่นด้วย 'newline' - จะเขียนเป็นไฟล์ temp ก่อนจากนั้นผู้ใช้

logger -t <title> -f <temp-file> 

สิ่งนี้ยังคงแทรกแต่ละบรรทัดเป็นข้อความบันทึกแยกต่างหาก
user619714

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.