sed -e '$! d' работает не так, как ожидалось?

Когда я запускаю:

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' 

Но я возвращаюсь так же, как без sed.

Ваша команда может вывести на stderr вместо stdout. Чтобы перенаправить stderr в stdout:

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

Если вам нужна только последняя строка вашего вывода, вы также можете использовать tail -n 1 вместо sed .