HOWTO · Bash
Bash에서 문자열에 하위 문자열이 포함되어 있는지 확인
문자열에 하위 문자열이 포함되어 있는지 여부를 확인하는 Bash 프로그래밍 자습서.
문자열에서 부분 문자열을 찾는 것은 문자열에서 가장 자주 사용되는 작업입니다. 이 작업을 수행하는 방법에는 여러 가지가 있습니다.
이 기사에서는 주어진 문자열에 특정 하위 문자열이 포함되어 있는지 여부를 찾기 위한 여러 Bash 스크립트 기반 구현을 볼 것입니다.
case 조건문 사용(방법 1)
case는 bash의 조건문이며 스크립트에서 조건부 블록을 구현하는 데 사용할 수 있습니다. 이 문은 bash에서 하위 문자열을 찾는 데 사용할 수 있습니다.
스크립트:
#!/bin/bash
str='This is a bash tutorial'
substr='bash'
case $str in
*"$substr"*)
echo "str contains the substr"
;;
esac
str과 substr 2개의 문자열이 있습니다. str에 substr이 포함되어 있는지 알아보기 위해 case 문을 적용했습니다.
출력:

if 문에서 와일드카드 사용(방법 2)
if 문에서 와일드카드를 사용하여 문자열에서 부분 문자열을 찾을 수도 있습니다. 하위 문자열을 찾는 가장 간단한 방법은 하위 문자열 주위에 와일드카드 기호 별표(*)를 넣고 실제 문자열과 비교하는 것입니다.
스크립트:
#!/bin/bash
str='This is a bash tutorial'
substr='tutorial'
if [[ "$str" == *"$substr"* ]]; then
echo "String contains the sunstring"
else
echo "String does'nt contains the substring"
fi
출력:

Bash의 grep 명령 사용(방법 3)
grep 명령은 파일이나 문자열에서 무언가를 찾는 데에도 사용됩니다. 그것은 grep 명령이 출력을 표시하지 않도록 지시하는 -q 옵션을 가지고 있습니다. ’true’ 또는 ‘false’를 반환합니다.
스크립트:
#!/bin/bash
str='This is a bash tutorial'
substr='tutorial'
if grep -q "$substr" <<< "$str"; then
echo "String contains the substring"
fi
출력:

정규식 연산자(~=) 사용(방법 4)
두 문자열을 비교하고 문자열에 하위 문자열이 포함되어 있는지 여부를 비교할 수 있는 정규식 연산자(~=)라는 또 다른 연산자가 있습니다.
스크립트:
#!/bin/bash
str='This is a bash tutorial'
substr='bash'
if [[ "$str" =~ .*"$substr".* ]]; then
echo "String contains the substring"
fi
조건문에서 정규식 연산자는 오른쪽 문자열을 정규식으로 만들고 .* 기호는 문자열에서 0개 이상의 하위 문자열을 비교하는 것을 의미합니다.
출력:

따라서 문자열에서 부분 문자열을 찾는 여러 가지 방법을 볼 수 있습니다.