sed를 사용하여 연산자 이해하기

sed를 사용하여 연산자 이해하기

이 명령을 이해하고 분석해 보십시오.

echo -e '1234\n4567' | sed 's/^\(..\)\(..\)$/\1:\2/'

답변1

echo -e '1234\n4567'
  • echo
    표준 출력에 매개변수를 씁니다.
  • -e
    백슬래시 이스케이프 해석을 활성화합니다.
  • '1234\n4567'
    쓸 순서입니다. 여기에는 작은따옴표를 사용하세요. 이것은\n백슬래시 이스케이프새로운 라인을 생산합니다. 이 -e옵션이 없으면 리터럴 echo이 생성됩니다 \n.man echo

|
  • |
    관로표준 출력왼쪽부터 , echo, 까지표준 입력오른쪽 명령의 경우 sed.

sed 's/^\(..\)\(..\)$/\1:\2/'
  • sed
    s(스트림) 에드(itor)

  • 's/^\(..\)\(..\)$/\1:\2/'s/ A / B /
    sA를 B로 교체

  • ㅏ:^\(..\)\(..\)$

    • ^줄의 시작
      • \(그룹 1 캡처 시작은 (리터럴입니다 (.
        • .임의의 문자와 일치하여 캡처 그룹 1에 추가합니다.
        • .임의의 문자와 일치하여 캡처 그룹 1에 추가합니다.
      • \)캡처 그룹 1을 종료합니다.
      • \(캡처 그룹 2를 시작합니다.
        • .임의의 문자와 일치하여 캡처 그룹 2에 추가합니다.
        • .임의의 문자와 일치하여 캡처 그룹 2에 추가합니다.
      • \)캡처 그룹 2를 종료합니다.
    • $줄의 끝과 일치합니다.
  • 두번째:\1:\2
    • \1캡처 그룹 1을 인쇄합니다.
    • :텍스트 인쇄:
    • \2캡처 그룹 2를 인쇄합니다.

다시 말해서:

쓰다:

1234
4567

표준 출력을 생성하고 sed.

at sed; 표준 입력에서 읽고 4자 라인과 일치합니다. 처음 두 개와 마지막 두 개를 콜론으로 구분하고 결과를 인쇄합니다.

12:34
45:67

관련 정보