sed -e '$! d' ne fonctionne pas comme prévu?

10

Quand je cours:

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

Je reviens:

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

Je veux juste la dernière ligne alors je lance:

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

Mais je reviens comme sans sed.

Philip Kirkbride
la source

Réponses:

13

Votre commande renvoie éventuellement vers stderr au lieu de stdout. Pour rediriger stderr vers stdout:

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

Si vous ne voulez que la dernière ligne de votre sortie, vous pouvez également utiliser à la tail -n 1place de sed.

sebasth
la source
oui, c'est tout
Philip Kirkbride