sed -e '$! d' funktioniert nicht wie erwartet?


10

Wenn ich renne:

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

Ich komme zurück:

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

Ich möchte nur die letzte Zeile, damit ich laufe:

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

Aber ich komme genauso zurück wie ohne sed.

Antworten:


13

Ihr Befehl wird möglicherweise an stderr anstatt an stdout ausgegeben. So leiten Sie stderr zu stdout um:

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

Wenn Sie nur die letzte Zeile Ihrer Ausgabe möchten, können Sie auch tail -n 1anstelle von verwenden sed.


Ja, das war es
Philip Kirkbride
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.