sed -e '$!d' が期待どおりに動作しませんか?

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がないと同じ結果を得ます。

答え1

コマンドはstdoutの代わりにstderrとして出力できます。 stderrをstdoutにリダイレクトします。

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

出力の最後の行だけが必要な場合は、代わりtail -n 1に使用することもできますsed

関連情報