sed -e '$! d' no funciona como se esperaba?

10

Cuando corro:

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

Vuelvo:

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

Solo quiero la última línea, así que corro:

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

Pero vuelvo igual que sin sed.

Philip Kirkbride
fuente

Respuestas:

13

Su comando posiblemente salga a stderr en lugar de stdout. Para redirigir stderr a stdout:

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

Si solo desea la última línea de su salida, también puede usarla en tail -n 1lugar de sed.

sebasth
fuente
sí, eso fue todo
Philip Kirkbride