-
[Bash] 정규 표현식Bash 2023. 10. 28. 13:43반응형
정규 표현식은 Bash 셸 스크립트에서 문자열 검색, 패턴 일치, 대체 등 다양한 문자열 작업을 수행하는 데 사용됩니다. 다음은 정규 표현식을 사용한 고급 스크립팅 팁과 예제입니다.
1. 문자열에서 패턴 일치 찾기:
grep 명령어를 사용하여 문자열에서 정규 표현식 패턴과 일치하는 문자열을 검색할 수 있습니다.
예제: 문자열에서 이메일 주소 추출#!/bin/bash text="Please contact support@example.com for assistance." email_pattern="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}" email=$(echo "$text" | grep -o -E "$email_pattern") echo "Email address found: $email"
설명:
email_pattern 변수에 이메일 주소를 찾기 위한 정규 표현식 패턴을 저장합니다.
grep 명령어를 사용하여 -o 옵션으로 매칭된 문자열만 출력하며 -E 옵션으로 정규 표현식을 사용합니다.
결과를 email 변수에 저장하고 출력합니다.
2. 문자열 대체:
sed 명령어를 사용하여 문자열 내에서 정규 표현식 패턴과 일치하는 문자열을 대체할 수 있습니다.
예제: 문자열 내의 숫자를 '*'로 대체#!/bin/bash text="There are 123 cats and 456 dogs." replacement="*" echo "$text" | sed 's/[0-9]/*/g'
설명:
sed 명령어를 사용하여 s 옵션으로 문자열 대체를 수행합니다.
[0-9] 정규 표현식 패턴을 사용하여 모든 숫자를 찾고 *로 대체합니다.
3. 문자열 분할:
awk 명령어를 사용하여 문자열을 정규 표현식으로 분할하고 필요한 부분을 추출할 수 있습니다.
예제: 공백으로 구분된 문자열에서 세 번째 단어 추출#!/bin/bash text="This is an example text." third_word=$(echo "$text" | awk '{print $3}') echo "Third word: $third_word"
설명:
awk 명령어를 사용하여 문자열을 공백으로 구분하고, 세 번째 단어를 third_word 변수에 저장합니다.
정규 표현식은 Bash 스크립트에서 문자열 처리를 강력하게 지원하는 강력한 도구입니다. 이러한 예제를 사용하여 원하는 패턴을 검색하고 대체하며 문자열을 처리할 수 있습니다.반응형'Bash' 카테고리의 다른 글
[Bash] curl FTP SSH Telnet (0) 2023.10.28 [Bash] 날짜와 시간 (1) 2023.10.28 [Bash] 시그널 및 프로세스 관리 (0) 2023.10.27 [Bash] 변수의 범위와 환경 변수 (0) 2023.10.27 [Bash] 파이프라인 및 리다이렉션 (0) 2023.10.27