![grep 또는 awk가 "java -version"의 출력과 일치하지 않습니다.](https://linux55.com/image/31189/grep%20%EB%98%90%EB%8A%94%20awk%EA%B0%80%20%22java%20-version%22%EC%9D%98%20%EC%B6%9C%EB%A0%A5%EA%B3%BC%20%EC%9D%BC%EC%B9%98%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
내 Linux 상자에서 다음을 수행하면 왜 버전 문자열("1.5.0_32")만 얻지 못하는지 잘 모르겠습니다.
# java -version | grep version | awk '{print $NF}'
java version "1.5.0_32"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_32-b05)
Java HotSpot(TM) Server VM (build 1.5.0_32-b05, mixed mode)
왜 작동하지 않거나 grep
작동 awk
하지 않습니까?
다른 예에서 grep과 awk가 어떻게 작동하는지 보여주기 위해
# echo ' java version "1.5.0_32" ' | grep version | awk '{print $NF}'
"1.5.0_32"
답변1
이 시도:
java -version 2>&1 | grep version | awk '{print $NF}'
출력이 stderr로 전송되는 것 같습니다.
또한 grep할 필요가 없습니다.
java -version 2>&1 | awk '/version/{print $NF}'