Bash에서 문자열로 작업할 때 가장 일반적인 작업 중 하나는 문자열에 다른 문자열이 포함되어 있는지 여부를 확인하는 것입니다.
이 글에서는 문자열에 하위 문자열이 포함되어 있는지 확인하는 몇 가지 방법을 보여 드리겠습니다.
와일드카드를 사용
가장 쉬운 방법은 하위 문자열을 별표 와일드카드 기호(별표) *로 둘러서 문자열과 비교하는 것입니다. 와일드카드는 0 또는 하나 이상의 문자를 나타내는 데 사용되는 기호입니다.
테스트가 true를 반환하면 하위 문자열이 문자열에 포함됩니다.
아래 예에서는 if 문과 동등 연산자(==)를 사용하여 문자열 STR에서 하위 문자열 SUB가 있는지 확인합니다.
#!/bin/bash
STR='GNU/Linux is an operating system'
SUB='Linux'
if [[ "$STR" == *"$SUB"* ]]; then
echo "It's there."
fi
# It's there.
정규식 연산자를 사용
문자열 내에서 지정된 하위 문자열이 발생하는지 여부를 확인하는 또 다른 옵션은 regex 연산자 =~를 사용하는 것입니다. 이 연산자를 사용하면 오른쪽 문자열이 정규식으로 간주됩니다.
별표 뒤에 오는 마침표는 새 행 문자를 제외한 모든 문자와 0개 이상 일치합니다.
#!/bin/bash
STR='GNU/Linux is an operating system'
SUB='Linux'
case $STR in
*"$SUB"*)
echo -n "It's there."
;;
esac
# It's there.
Grep를 사용
grep 명령을 사용하여 다른 문자열에서 문자열을 찾을 수도 있습니다.
다음 예에서는 $STR 문자열을 grep에 입력으로 전달하고 입력 문자열 내에 $SUB 문자열이 있는지 확인합니다. 명령은 true 또는 false를 적절하게 반환합니다.
#!/bin/bash
STR='GNU/Linux is an operating system'
SUB='Linux'
if grep -q "$SUB" <<< "$STR"; then
echo "It's there"
fi
-q 옵션은 grep에게 조용하고 출력을 생략하도록 합니다.
문자열에 하위 문자열이 포함되어 있는지 확인하는 것은 Bash 스크립팅에서 가장 기본적이고 자주 사용되는 작업 중 하나입니다.
문자열에 다른 문자열이 포함되어 있는지 테스트하는 방법을 잘 이해해야 합니다. 테스트를 위해 awk 또는 sed와 같은 다른 명령을 사용할 수도 있습니다.
'SW > 리눅스' 카테고리의 다른 글
Python : String 문자열 분리 방법, 예제, 명령어 (0) | 2021.11.05 |
---|---|
Linux : Ubuntu 18.04 : VirtualBox Guest Additions 설치 방법, 예제, 명령어 (0) | 2021.11.04 |
Linux : Debian 10 : Swap Space 더하는 방법, 예제, 명령어 (0) | 2021.11.02 |
Linux : Debian 10 : Nginx 설치 방법, 예제, 방법 (0) | 2021.11.01 |
Linux : Debian 10 : Java 설치 방법, 예제, 명령어 (1) | 2021.10.31 |