perl - 긴 줄을 검색하고 그 안에 있는 단어를 바꿉니다.

perl - 긴 줄을 검색하고 그 안에 있는 단어를 바꿉니다.

한 줄 bash 명령: 긴 줄을 검색하고 그 안에 있는 한 단어를 변경하는 방법은 무엇입니까?

 perl -i -0pe 's/my long line/my right line/g' file

이것은 작동하지만 다음과 같이 더 읽기 쉬운 것을 가질 수 있습니다.

perl -i -0pe '\
SEARCH=my long line \
CHANGE=s/long/right/g \
' file

펄을 사용해야겠어요

답변1

perl -i -0pe '\
$match = quotemeta "my long line";\
$find = quotemeta 'long';\
$replace = 'right';\
s/$find/$replace/g if m/$match/;\
' file

sundeep이 말했듯이 변수를 사용할 수 있습니다. 정규식의 일치 부분에서 변수를 인용해야 합니다.

관련 정보