sed -e '$! d' tidak berfungsi seperti yang diharapkan?

10

Ketika saya menjalankan:

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

Saya kembali:

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

Saya hanya ingin baris terakhir jadi saya jalankan:

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

Tapi aku kembali sama tanpa sed.

Philip Kirkbride
sumber

Jawaban:

13

Perintah Anda mungkin output ke stderr, bukan stdout. Untuk mengarahkan ulang stderr ke stdout:

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

Jika Anda hanya ingin baris terakhir output Anda, Anda juga dapat menggunakan tail -n 1bukan sed.

sebasth
sumber
ya, itu dia
Philip Kirkbride