Bash에서 부분 문자열 추출

Fumbani Banda 2023년1월30일
  1. cut 명령을 사용하여 Bash에서 부분 문자열 추출
  2. 하위 문자열 확장을 사용하여 Bash에서 하위 문자열 추출
  3. IFS를 사용하여 Bash에서 하위 문자열 추출
Bash에서 부분 문자열 추출

이 튜토리얼은 cut 명령, 하위 문자열 확장 및 내부 필드 구분 기호(IFS)를 사용하여 bash에서 하위 문자열을 추출하는 다양한 방법을 보여줍니다.

cut 명령을 사용하여 Bash에서 부분 문자열 추출

아래 스크립트는 cut 명령을 사용하여 부분 문자열을 추출합니다. -d 옵션은 문자열을 필드로 나누는 데 사용할 구분 기호를 지정하고 -f 옵션은 추출할 필드의 번호를 설정합니다.

우리의 경우 _를 구분 기호로 사용하여 문자열을 나누고 세 번째 필드에 액세스하기 위해 3 인수를 -f 옵션에 전달합니다.

#!/bin/bash

printf "Script to extract a substring!\n\n"

numbers='one_two_three_four_five'

printf "full string: $numbers\n"

substring=$(echo $numbers | cut -d '_' -f 3)
printf "substring: $substring\n"

다음과 같이 bash 스크립트를 실행합니다.

bash substring.sh

출력에서 one_two_three_four_five 문자열에서 하위 문자열 three가 추출되었습니다.

Script to extract a substring!

full string: one_two_three_four_five
substring: three

하위 문자열 확장을 사용하여 Bash에서 하위 문자열 추출

부분 문자열 확장은 기본 제공 bash 기능입니다. 다음 구문을 사용합니다.

$(variable:offset:length)

variable는 문자열을 포함하는 변수 이름입니다. offset은 문자열 추출을 시작할 위치를 지정하는 데 사용됩니다. lengthoffset을 제외하고 추출할 문자의 범위를 지정하는 데 사용됩니다.

아래 스크립트는 변수 이름을 numbers로 설정하고 offset4로, 추출할 문자열의 length3으로 설정합니다.

#!/bin/bash

printf "Script to extract a substring!\n\n"

numbers='one_two_three_four_five'
substring=${numbers:4:3}

printf "full string: $numbers\n"
printf "substring: $substring\n"

다음과 같이 bash 스크립트를 실행합니다.

bash substring.sh

출력에서 one_two_three_four_five 문자열에서 하위 문자열 two가 추출되었습니다.

Script to extract a substring!

full string: one_two_three_four_five
substring: two

IFS를 사용하여 Bash에서 하위 문자열 추출

IFS는 내부 필드 구분 기호를 나타냅니다. IFS는 확장 후 단어 분할 및 내장된 읽기 명령으로 줄을 단어로 분할하는 데 사용됩니다.

아래 스크립트에서 IFS는 _로 설정되었습니다. 이는 _를 구분 기호로 사용하여 numbers 변수의 문자열을 분할해야 함을 의미합니다. 문자열이 분할되면 $[integer] 구문을 사용하여 단어에 액세스할 수 있습니다. 첫 번째 단어는 $1, 두 번째 단어는 $2, 세 번째 단어는 $3 등으로 액세스할 수 있습니다.

#!/bin/bash

printf "Script to extract a substring!\n\n"

numbers='one_two_three_four_five'
IFS="_"
set $numbers

printf "full string: $numbers\n"
printf "substring: $2\n"

다음과 같이 bash 스크립트를 실행합니다.

bash substring.sh

출력에서 one_two_three_four_five 문자열에서 하위 문자열 two가 추출되었습니다.

Script to extract a substring!

full string: one_two_three_four_five
substring: two
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

관련 문장 - Bash String