반응형
bash 스크립트에서 정규식을 어떻게 사용합니까?
정규식을 사용하여 변수에 유효한 연도가 있는지 확인하고 싶습니다. bash 매뉴얼을 읽고 나는 연산자를 사용할 수 있음을 이해합니다 = ~
아래 예를 보면 "not OK"가 표시되지만 "OK"가 표시됩니다. 내가 뭘 잘못하고 있죠?
i="test"
if [ $i=~"200[78]" ]
then
echo "OK"
else
echo "not OK"
fi
3.1과 3.2 사이에서 변경되었습니다.
이것은 bash-3.1 릴리스 이후 bash-3.2에 추가 된 새로운 기능에 대한 간결한 설명입니다.
문자열 인수를 [[명령의 = ~ 연산자에 인용하면 다른 패턴 일치 연산자와 마찬가지로 문자열 일치가 강제 실행됩니다.
따라서 따옴표없이 사용하십시오.
i="test"
if [[ $i =~ 200[78] ]] ; then
echo "OK"
else
echo "not OK"
fi
연산자 주위에 공백이 필요합니다 = ~
i = "테스트" if [[$ i = ~ "200 [78]"]]; 그때 에코 "OK" 그밖에 에코 "좋지 않음" fi
참고 URL : https://stackoverflow.com/questions/304864/how-do-i-use-regular-expressions-in-bash-scripts
반응형
'programing' 카테고리의 다른 글
어떤 @NotNull Java 주석을 사용해야합니까? (0) | 2020.09.28 |
---|---|
MySQL 데이터베이스의 이름을 빠르게 바꾸려면 어떻게합니까 (스키마 이름 변경)? (0) | 2020.09.28 |
JavaScript 키 코드 란 무엇입니까? (0) | 2020.09.25 |
INSERT 대 INSERT INTO (0) | 2020.09.25 |
.NET 개체를 직렬화 및 역 직렬화하는 가장 빠른 방법 (0) | 2020.09.25 |