sed -e '$! d' ไม่ทำงานตามที่คาดไว้


10

เมื่อฉันวิ่ง:

sudo /usr/local/nginx/sbin/nginx -t

ฉันกลับมา:

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

ฉันแค่ต้องการบรรทัดสุดท้ายดังนั้นฉันจึงเรียกใช้:

sudo /usr/local/nginx/sbin/nginx -t | sed -e '$!d'

แต่ฉันกลับได้เหมือนเดิมโดยไม่ต้องใจเย็น ๆ

คำตอบ:


13

คำสั่งของคุณอาจส่งออกไปยัง stderr แทนที่จะเป็น stdout ในการเปลี่ยนเส้นทาง stderr ไปยัง stdout:

sudo /usr/local/nginx/sbin/nginx -t 2>&1 | sed -e '$!d'

หากคุณต้องการเพียงบรรทัดสุดท้ายของการส่งออกของคุณคุณยังสามารถใช้แทนtail -n 1sed


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