Bash 스크립트에서 하위 문자열 확인

Bash 스크립트에서 하위 문자열 확인
Bash

Bash의 문자열 포함 소개

Bash 스크립트로 작업할 때 문자열에 특정 하위 문자열이 포함되어 있는지 확인해야 하는 상황에 직면하는 것이 일반적입니다. 이는 입력 데이터 구문 분석, 문자열 유효성 검사 또는 특정 기준에 따른 콘텐츠 필터링과 같은 많은 스크립팅 시나리오에서 기본적인 작업입니다.

이 기사에서는 'echo' 및 'grep'과 같은 조건문과 명령을 사용하는 것을 포함하여 Bash에서 이를 달성하는 다양한 방법을 살펴보겠습니다. 또한 스크립트를 유지 관리하기 쉽고 오류 발생 가능성을 낮추기 위한 가장 효율적이고 읽기 쉬운 접근 방식에 대해서도 논의하겠습니다.

명령 설명
[[ ]] Bash에서 문자열 및 기타 조건을 테스트하는 데 사용되는 조건식입니다.
* 문자열 패턴 일치에서 문자 수를 나타내는 데 사용되는 와일드카드 문자입니다.
echo 인수로 전달된 텍스트 또는 문자열 줄을 표시하는 데 사용되는 명령입니다.
grep 일반 텍스트 데이터에서 정규식과 일치하는 줄을 검색하기 위한 명령줄 유틸리티입니다.
-q 일반 출력을 억제하고 종료 상태만 반환하는 grep 옵션입니다.
case Bash에서 패턴을 일치시키는 데 사용되는 조건문입니다.
;; 다양한 패턴 작업을 구분하기 위해 Case 문에서 사용되는 구분 기호입니다.

Bash의 하위 문자열 검사 이해

첫 번째 스크립트에서는 다음을 사용합니다. conditional statements 문자열에 특정 하위 문자열이 포함되어 있는지 확인합니다. 기본 문자열과 하위 문자열을 정의한 다음 [[ ]] 고급 문자열 비교를 허용하는 구문입니다. 괄호 안에는 * 하위 문자열 앞뒤의 문자 수를 나타내는 와일드카드입니다. 조건이 true이면 스크립트는 "It's there!"를 인쇄합니다. 그렇지 않으면 "거기 없습니다!"가 인쇄됩니다. 이 방법은 효율적이며 패턴 일치를 위해 Bash에 내장된 기능을 활용합니다.

두 번째 스크립트는 다음을 사용합니다. 그리고 grep 동일한 결과를 얻기 위한 명령입니다. 다시 기본 문자열과 하위 문자열을 정의한 다음 다음을 사용합니다. 기본 문자열을 출력하고 파이프로 연결하려면 grep 사용하여 -q 정상적인 출력을 억제하는 옵션. Grep 기본 문자열 내의 하위 문자열을 검색합니다. 하위 문자열이 발견되면 스크립트는 "It's there!"를 인쇄합니다. 그렇지 않은 경우 "거기 없습니다!"라고 인쇄됩니다. 이 접근 방식은 강력한 텍스트 검색 기능을 활용합니다. grep, 복잡한 텍스트 패턴을 일치시켜야 하는 스크립트에 적합합니다.

고급 Bash 문자열 작업 살펴보기

세 번째 스크립트는 case 하위 문자열이 있는지 확인하는 명령문입니다. 기본 문자열과 하위 문자열을 정의한 후 case 문은 기본 문자열을 다른 패턴과 일치시킵니다. 하위 문자열이 있으면 해당 작업이 실행되어 "It's there!"가 인쇄됩니다. 하위 문자열을 찾을 수 없으면 기본 작업은 "거기 없습니다!"를 인쇄합니다. 이 방법은 확인할 패턴이 여러 개 있을 때 특히 유용합니다. case 문은 여러 분기보다 복잡한 분기 논리를 더 명확하게 처리할 수 있습니다. if-else 진술.

전반적으로 이러한 각 방법은 Bash에서 문자열에 특정 하위 문자열이 포함되어 있는지 확인하는 방법을 제공합니다. 방법 선택은 필요한 문자열 일치의 복잡성과 스크립트의 특정 요구 사항에 따라 달라집니다. 사용 [[ ]] 와일드카드를 사용하는 것은 간단한 확인을 위해 간단하고 효율적입니다. 그리고 grep 더욱 강력한 패턴 매칭을 제공합니다. 그만큼 case 반면에 문은 구조화된 방식으로 여러 일치 조건을 처리하는 데 이상적입니다.

조건문을 사용하여 Bash에서 하위 문자열 확인

Bash 스크립팅 방법

#!/bin/bash
# Define the main string
string="My string"
# Define the substring to search for
substring="foo"
# Check if the substring is present in the main string
if [[ "$string" == *"$substring"* ]]; then
  echo "It's there!"
else
  echo "It's not there!"
fi

Echo와 Grep을 사용하여 Bash에서 하위 문자열 감지

Echo와 Grep 명령 결합

#!/bin/bash
# Define the main string
string="My string"
# Define the substring to search for
substring="foo"
# Use echo and grep to check if the substring is present
if echo "$string" | grep -q "$substring"; then
  echo "It's there!"
else
  echo "It's not there!"
fi

Bash에서 하위 문자열 감지를 위해 Case 문 사용

Case 문을 사용한 Bash 스크립팅

#!/bin/bash
# Define the main string
string="My string"
# Define the substring to search for
substring="foo"
# Use case statement to check for the substring
case "$string" in
  *"$substring"*)
    echo "It's there!"
    ;;
  *)
    echo "It's not there!"
    ;;
esac

Bash의 문자열 포함을 위한 고급 방법

Bash에서 문자열에 하위 문자열이 포함되어 있는지 확인하는 기본 방법 외에도 다양한 시나리오에서 유용할 수 있는 고급 기술이 있습니다. 그러한 방법 중 하나는 다음과 같은 정규식을 사용하는 것입니다. awk 명령. Awk 패턴 스캐닝 및 처리를 위한 강력한 프로그래밍 언어입니다. 사용하여 awk를 사용하면 더욱 유연하게 복잡한 문자열 작업을 수행할 수 있습니다. 예를 들어 다음을 사용할 수 있습니다. awk 문자열 내의 하위 문자열을 검색하고 일치 항목을 기반으로 작업을 실행합니다.

또 다른 고급 기술은 sed 스트림 편집기를 의미하는 명령입니다. Sed 데이터 스트림이나 파일의 텍스트를 구문 분석하고 변환하는 데 유용합니다. 당신이 사용할 수있는 sed 하위 문자열을 검색하고 일치하는 텍스트에 대해 대체 또는 기타 작업을 수행합니다. 이러한 고급 방법은 비록 더 복잡하기는 하지만 Bash 스크립트에서 텍스트 처리를 위한 강력한 기능을 제공하므로 정교한 문자열 조작이 필요한 작업에 매우 유용합니다.

Bash의 문자열 포함에 대해 자주 묻는 질문

  1. 다음을 사용하여 문자열에 하위 문자열이 포함되어 있는지 확인하는 방법 awk?
  2. 다음을 사용하여 문자열에 하위 문자열이 포함되어 있는지 확인하려면 awk, 다음 명령을 사용할 수 있습니다. echo "$string" | awk '{if ($0 ~ /substring/) print "It's there!"}'
  3. 사용해도 되나요 sed 하위 문자열을 확인하려면?
  4. 예, 사용할 수 있습니다 sed 다음 명령을 사용하여 하위 문자열을 확인합니다. echo "$string" | sed -n '/substring/p'
  5. 사용하면 어떤 이점이 있나요? awk ~ 위에 grep?
  6. Awk 더욱 강력한 텍스트 처리 기능을 제공하고 패턴 일치를 기반으로 작업을 수행할 수 있어 grep.
  7. 하위 문자열을 검색할 때 대소문자를 어떻게 무시할 수 있나요?
  8. 하위 문자열을 검색할 때 대소문자를 무시하려면 다음을 사용할 수 있습니다. -i 옵션 grep: echo "$string" | grep -iq "substring"
  9. 사용이 가능한가요? regex ~와 함께 if Bash의 진술?
  10. 예, 다음과 같이 정규식을 사용할 수 있습니다. if Bash의 명령문을 사용하여 =~ 운영자: if [[ "$string" =~ regex ]]; then

Bash의 문자열 포함에 대한 최종 생각

Bash에서 문자열에 하위 문자열이 포함되어 있는지 확인하는 것은 조건문, grep 명령 및 Case 문을 포함한 여러 방법을 사용하여 수행할 수 있는 일반적인 작업입니다. 각 방법은 문제 해결을 위한 고유한 접근 방식을 제공하므로 특정 요구 사항에 따라 가장 적합한 방법을 선택할 수 있습니다. 이러한 기술을 익히면 Bash 스크립트의 효율성과 가독성을 향상시킬 수 있습니다.