>

sed 의 POSIX 동작은 무엇입니까  와이즈 비즈  그리고 ^  N명령을 사용한 후와 같이 패턴 공간에 줄 바꿈이 포함 된 경우 정규식의 시작과 끝에서 사용될 때 앵커?

여전히 패턴 공간의 시작과 끝과 일치해야합니까, 아니면 여러 줄이 포함되어있는 줄의 시작과 끝과 일치해야합니까?

GNU $ sed  그리고 ^  여전히 전체 패턴 공간의 시작과 끝에 만 일치합니다.

$
  • 답변 # 1

    ^  그리고 $  BRE에서는 여기에 설명 된대로 항상의 시작과 끝에서 일치합니다.

    모든 sed  BRE를 사용하면 같은 방식으로 수행됩니다. N 를 사용하는 경우  명령, sed  패턴 공간에서 여러 줄을 하나의 긴 줄로 보았습니다. 각실제줄은 포함 된 줄 바꿈으로 구분됩니다  (리터럴 \n  그리고 \ ).

    확인 :

    n
    
    

    아무것도 출력하지 않습니다. 그리고 :

    printf '1\n2\n' | sed '1N;/2$/d'
    
    

    너를 주었다 :

    printf '1\n2\n' | sed '1N;/1$/d'
    
    

    또는 1 2 사용 보다 자세한 설명을 보려면 ook 명령을 사용하십시오 :

    l
    
    
    $ printf '1\n2\n' | sed 1N\;l 1\n2$ 1 2 $ printf '1\n2\n' | sed 1N\;l | od -t a 0000000 1 \ n 2 $ nl 1 nl 2 nl 0000012

  • 이전 HTML 파일에서 데이터를 추출하기위한 AWK, SED 또는 GREP
  • 다음 linux - ext4 수퍼 블록 복구