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
또는 sed
Javascript 예제와 매우 유사한 방식으로 일치하는 하위 그룹을 추출할 수 있습니다.
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