if문의 조건의 문자열 일부 매칭
2021. 2. 8. 12:44ㆍIT/S . e . v . e . r . I . n . f . r . a
쉘 스크립트에서 if문에서 찾고자 하는 문자가 포함되어 있는지를 확인하기 위한
두가지 방법에 대해 이야기 해보려 합니다.
먼저 스크립트를 보시죠
#!/bin/sh
VAR_STR1="This is test string"
VAR_STR2="test"
if [[ "${VAR_STR1}" == *"test"* ]];then
echo "1st find it"
fi
if [[ "${VAR_STR1}" =~ "test" ]];then
echo "2nd find it"
fi
첫번째는 아스테리스크(*)를 사용하여 "test" 라는 문자열에 포함된 것을 찾아 분기한 것이고
두번째는 쉘 스크립트의 if문의 기능을 이용한 것입니다.
참고로 "=~"는 bash 버전3 이상일 때 지원합니다.
개인적으로는 두번째 패턴을 좋아합니다만
버전3 이상이라면 아무거나 써도 문제는 없습니다.
'IT > S . e . v . e . r . I . n . f . r . a' 카테고리의 다른 글
^M 문자로 인해 shell script 오류발생시 해결법 (0) | 2021.03.01 |
---|---|
쉘 스크립트로 액세스로그에서 날짜별 액세스 수 추출하기 (0) | 2021.02.18 |
if문에서 영문 숫자 구별하기 (0) | 2021.02.08 |
find 명령의 mtime 옵션 정리 (0) | 2021.02.08 |
쉘 스크립트에서 문자열이 매칭되었을 때 분기하기 (0) | 2020.06.05 |
Bash쉘에서 파일명 일괄 대소문자 변환 (0) | 2020.06.05 |