[unix] 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가없는 것과 똑같이 돌아옵니다.



답변

명령이 stdout 대신 stderr로 출력 될 수 있습니다. stderr을 stdout으로 경로 재 지정하려면 다음을 수행하십시오.

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

출력의 마지막 줄만 원한다면 tail -n 1대신 대신 사용할 수도 있습니다 sed.


답변