반응형

 

예제 1. 태그 <>가 있는 문자열 파싱하기

주어진 문자열:
<property color="blue" size="1000" age="35">

만들어야할 문자열:
blue,1000,35

 

더보기

방법 1. sed 사용

#!/bin/bash

# 입력 문자열
input='<property color="blue" size="1000" age="35">'

# sed를 사용해 파싱
output=$(echo "$input" | sed -E 's/.*color="([^"]*)".*size="([^"]*)".*age="([^"]*)".*/\1,\2,\3/')

# 결과 출력
echo "$output"

 

설명

  • sed 명령어:
    • s/.*color="([^"]*)".*size="([^"]*)".*age="([^"]*)".*/\1,\2,\3/
      • -E: 확장 정규 표현식을 사용합니다.
      • .* : 태그 내 불필요한 앞부분을 건너뜁니다.
      • color="([^"]*)": color 속성 값(따옴표 안의 문자열)을 첫 번째 그룹으로 캡처합니다.
      • size="([^"]*)": size 속성 값을 두 번째 그룹으로 캡처합니다.
      • age="([^"]*)": age 속성 값을 세 번째 그룹으로 캡처합니다.
      • \1,\2,\3: 캡처한 값을 쉼표로 구분하여 출력합니다.

 

 

방법 2. awk 사용

echo '<property color="blue" size="1000" age="35">' | awk -F '"' '{print $2","$4","$6}'

 

 설명

 

  • -F '"': 따옴표(")를 필드 구분자로 사용합니다.
  • $2, $4, $6: 각 필드의 값을 쉼표로 구분해 출력합니다.

 

 

 

 

 

 

 

 

 

 

 

반응형