기계적 인조 인간

bash에서 문자열에 하위 문자열이 포함되어 있는지 확인하는 방법

섹시레이싱걸엄지언비키니쇼케이스

섹시레이싱걸엄지언비키니쇼케이스

차례:

Anonim

Bash에서 문자열을 사용할 때 가장 일반적인 작업 중 하나는 문자열에 다른 문자열이 포함되어 있는지 여부를 확인하는 것입니다.

문자열에 하위 문자열이 포함되어 있는지 확인하는 몇 가지 방법을 보여줍니다.

와일드 카드 사용

가장 쉬운 방법은 별표 와일드 카드 기호 (별표) * 하위 문자열을 둘러싸고이를 문자열과 비교하는 것입니다. 와일드 카드는 0 개 이상의 문자를 나타내는 데 사용되는 기호입니다.

테스트에서 true 반환하면 하위 문자열이 문자열에 포함됩니다.

아래 예제에서 if 문과 항등 연산자 ( == )를 사용하여 문자열 STR 내에 하위 문자열 SUB 가 있는지 확인합니다.

#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if]; then echo "It's there." fi

스크립트가 실행되면 다음이 출력됩니다:

It's there.

케이스 연산자 사용

if 문을 사용하는 대신 case 문을 사용하여 문자열에 다른 문자열이 포함되어 있는지 확인할 수 있습니다.

#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' case $STR in *"$SUB"*) echo -n "It's there.";; esac

정규식 연산자 사용

지정된 부분 문자열이 문자열 내에서 발생하는지 확인하는 또 다른 옵션은 regex 연산자 =~ 를 사용하는 것입니다. 이 연산자를 사용하면 올바른 문자열이 정규식으로 간주됩니다.

마침표 뒤에 별표 .* 오는 경우 개행 문자를 제외한 모든 문자가 0 번 이상 나타납니다.

#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if]; then echo "It's there." fi

스크립트는 다음을 에코합니다.

It's there.

Grep 사용

grep 명령을 사용하여 다른 문자열에서 문자열을 찾을 수도 있습니다.

다음 예에서는 grep에 입력으로 문자열 $STR 을 전달하고 입력 문자열 내에 $SUB 문자열이 있는지 확인합니다. 명령은 적절하게 true 또는 false 를 반환 true .

#!/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 와 같은 다른 명령을 사용할 수도 있습니다.

bash 터미널