sed
정규식에 대한 매우 기본적인 지원만 있습니다.
전체 정규식 라이브러리(편집: PCRE)가 필요할 때 사용되는 표준 도구는 무엇입니까(예: 너비가 0인 부정 예측 어설션)?
답변1
전체 정규식 라이브러리는 언제 필요합니까(예: 너비가 0인 부정 예측 어설션)?
Lookaheads는 Perl 정규식에서 비롯되며 Perl은 sed
Lookaheads 및 정규식의 기능 중 많은 부분을 상속(복사) awk
하므로 아마도 이를 사용하고 싶을 것입니다.
예를 들어, foo
따르지 않는 각각을 다음 bar
으로 바꾸십시오 xxx
.
perl -pe 's/foo(?!bar)/xxx/g'
이 -p
플래그는 sed
입력 라인에 대해 주어진 코드를 실행한 다음 결과를 인쇄하는 유사한 동작을 제공합니다.
인터넷에는 Perl 입문 튜토리얼이 많이 있을 수 있습니다.
답변2
설치 했다면 perl
다음과 같이 사용할 수 있습니다.
perl -pe "s/(?<=SomeTextBefore)ReplaceMe(?=SomeTextAfter)/NewText/g"
파일을 변경하는 데 다음을 사용할 수 있습니다.
cat source.txt | perl -pe "s/(?<=SomeTextBefore)ReplaceMe(?=SomeTextAfter)/NewText/g" > dest.txt
다음에 추가-CS 옵션파일이 UTF8로 인코딩된 경우.