Computer >> 컴퓨터 >  >> 프로그램 작성 >> BASH 프로그래밍

예제와 함께 Bash/Shell 스크립트에서 문자열을 분할하는 방법

이 기사에서는 Bash/Shell 스크립트의 지정된 구분 기호에서 문자열을 분할하는 방법과 몇 가지 예를 보여줍니다.

문자열 분할은 스크립트를 작성할 때 사용할 수 있는 편리한 기능입니다. CSV(쉼표로 구분된 값)는 온라인에서 데이터를 사용할 수 있는 일반적인 형식으로, 테이블의 데이터 필드는 쉼표로 구분됩니다.

공백에서 문장을 단어로 분할하거나 마침표를 사용하여 단락을 문장으로 분할하는 등의 방법을 찾을 수도 있습니다.

많은 솔루션이 Bash 전용 문자열 분할 방법에 중점을 둡니다. 아래에서는 모든 Linux 셸 스크립트에서 작동해야 하는 방법을 간략하게 설명합니다.

잘라내기 사용 문자열 분할 명령

잘라내기 Linux의 명령은 텍스트 파일의 줄에서 섹션을 제거한 다음 출력합니다.

이 예는 주어진 구분 기호에서 텍스트를 분할하도록 이 명령을 적용합니다.

의 전체 사용자 설명서 명령, 여기를 클릭하십시오.

코드

다음은 문자열 splitMe를 사용하는 Bash 스크립트의 예입니다. 쉼표(,)로 구분된 문자열의 위치에 따라 항목을 반환합니다. ):

#!/bin/bash

# Define a comma-separated string
splitMe='apple,banana,grape,kiwi'

# Get the first item in the split string
firstItem="$(echo $splitMe | cut -d',' -f1)"

# Get the third item in the split string
thirdItem="$(echo $splitMe | cut -d',' -f3)"

# Confirm the result by outputting it to screen
echo $thirdItem

왜 이것이 효과가 있습니까? 에코 명령은 원래 문자열을 잘라내기로 파이프하는 데 사용됩니다. 명령. 잘라내기 명령은 -d를 사용합니다. 구분 기호를 지정하는 옵션(이 경우 쉼표이지만 모든 문자 또는 문자열을 사용할 수 있음 ) 및 -f 옵션 뒤에 어떤 필드가 반환되어야 하는지 지정하는 숫자가 옵니다. 이는 분할 문자열에서 가져오려는 항목의 위치입니다.

재사용 가능한 Bash 기능

모두 훌륭하지만 실제로 재사용할 수는 없습니다. 그래서 여기에 함수가 있습니다:

#!/bin/bash

# Define function to split strings
# It will accept three parameters, the string to split, the delimiter, and finally the position of the item to return
splitMyString(){
    splitString=$1
    delimiter=$2
    item=$3
    result="$(echo $splitString | cut -d',' -f$item)"
    echo $result
}

# Define a string to split for testing
splitMe='apple,banana,grape,kiwi'

# Test the function by splitting the string at the comma and returning the second item
echo $(splitMyString $splitMe "," 2)