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 1вместо sed.

sebasth
источник
да, это было это
Филип Киркбрайд