파일에서 문자열을 grep하고 문자열 옆에 숫자를 출력하는 방법

파일에서 문자열을 grep하고 문자열 옆에 숫자를 출력하는 방법

파일에서 문자열을 검색하면 다음과 같은 결과가 나타납니다.

$ grep "java vm version" dev_server0
F    java vm version   : 6.1.094 25.51-b02

6.1.094주변의 다른 모든 문자/숫자를 출력하고 제거하면 됩니다 . 어떻게 해야 하나요?

답변1

노력하다

grep "java vm version" dev_server0 | awk '{print $6}'

awk기본적으로 입력 줄은 공백으로 구분되며, 6번째 필드가 필요합니다.

예를 들어:

$ echo 'F    java vm version   : 6.1.094 25.51-b02' | awk '{print $6}'
6.1.094


있으신 분은 grep시도해 pcre보세요.

grep -oP 'java vm version\s*:\s*\K\S+' dev_server0
  • java vm version\s*:\s*\K이 패턴을 긍정적으로 검토하세요.
  • \S+공백이 아닌 문자 추출

답변2

POSIX적으로:

sed -n 's/.*java vm version[[:blank:]:]*\([^[:blank:]]*\).*/\1/p'

답변3

6번째 필드만 인쇄합니다.

grep "java vm version" dev_server0 | awk '{print $6}' 

관련 정보