sed를 사용하여 동일한 문자열 입력을 기반으로 모든 패턴을 일치시키는 방법

sed를 사용하여 동일한 문자열 입력을 기반으로 모든 패턴을 일치시키는 방법

문자열이 adajuikodlobauvk01있거나adajuikoplobauvk01

이 두 문자열에서 차이점은 다음 d과 같습니다.p

문자열이 adajuikodlobauvk01또는 인 경우 adajuikoplobauvk01예상되는 출력은 다음과 같습니다.adajuiko

  • 첫 번째 문자열의 코드는 정상적으로 작동합니다.
    echo adajuikodlobauvk01 | sed -e 's/\([a-z]*\)d.*/\1/g' -e 's/\([a-z]*\)p.*/\1/g'
    adajuiko
    
  • 두 번째 문자열의 경우 출력이 예상과 다릅니다.
    echo adajuikoplobauvk01 | sed -e 's/\([a-z]*\)d.*/\1/g' -e 's/\([a-z]*\)p.*/\1/g'
    a
    

동일한 문자열의 주어진 입력을 기반으로 모든 종류의 패턴을 일치시키는 데 도움을 주십시오.

답변1

예상되는 출력을 얻으려면 adajuiko입력이 or 이지만 adajuikodlobauvk01( adajuikoplobauvk01파이프) sed문자 다음의 코드는 |다음과 같아야 합니다.

sed -e 's/\([a-z]*\)[dp].*/\1/g'

그게 어디 [dp]뜻이야?일치한다또는.

관련 정보