결과를 반환하는 문자열을 "grep"하는 방법

결과를 반환하는 문자열을 "grep"하는 방법

50.0문자열에서 숫자를 얻기 위해 grep하는 방법temp=50.0'C

JavaScript에서는 표현식을 사용하여 /temp=(.*?)'C/이를 얻을 수 있습니다.

하지만 grep에서는 작동하지 않습니다.

답변1

당신은 그것을 사용할 수 있습니다뒷모습과 앞모습PCRE를 활성화한 후(통과 -P):

root@xxxxxxvlp03 ~ $ echo "temp=50.0'C" | grep -Po "(?<=temp\=).*(?=\'C)"
50.0
root@xxxxxxvlp03 ~ $

답변2

또는 sedJavascript 예제와 매우 유사한 방식으로 일치하는 하위 그룹을 추출할 수 있습니다.

echo "temp=50.0'C" | sed "s/temp=\([^']*\)'C/\1/"

답변3

문자열에 대해 알고 있는 내용에 따라 다릅니다. 이 경우 원하는 결과를 모두 숫자 또는 점 문자로 정의할 수 있습니다.

start cmd:> echo "temp=50.0'C" | grep -Eo '[0-9\.]+'
50.0

답변4

숫자 부분만 추출하려는 경우 이 방법이 도움이 50.0'C될 수 있습니다 cut. 정규식을 사용하는 것보다 더 간단해 보일 수도 있습니다.

echo "temp=50.0'C" | cut -d= -f2 | cut -d\' -f1

관련 정보