문장에서 숫자를 찾는 방법

문장에서 숫자를 찾는 방법

grep을 도와주실 수 있나요? 나는 다음을 가지고 있습니다 :

variable="RMN quota:        0 bytes"

그리고

variable="RMN quota:        1.56 bytes"

출력을 얻을 대상 ID: 0 또는 1.56.

grep으로 무엇을 합니까?

답변1

POSIX적으로:

n=${variable% bytes} # strip the trailing " bytes"
n=${n##*[[:blank:]]} # strip the leading part up to the rightmost blank

답변2

이것은 작동하는 것 같습니다:

grep -Eo '[0-9]+(\.[0-9]+)?' inputfile  

파일 내용 대신 쉘 변수의 값을 확인하려면 다음을 수행하십시오.

echo "$variable" | grep -Eo '[0-9]+(\.[0-9]+)?'

답변3

bash가 있으므로 :

tr -d -c 0-9. <<<$variable

(Zsh에서도 작동합니다).

관련 정보