![perl - 긴 줄을 검색하고 그 안에 있는 단어를 바꿉니다.](https://linux55.com/image/102112/perl%20-%20%EA%B8%B4%20%EC%A4%84%EC%9D%84%20%EA%B2%80%EC%83%89%ED%95%98%EA%B3%A0%20%EA%B7%B8%20%EC%95%88%EC%97%90%20%EC%9E%88%EB%8A%94%20%EB%8B%A8%EC%96%B4%EB%A5%BC%20%EB%B0%94%EA%BF%89%EB%8B%88%EB%8B%A4..png)
한 줄 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이 말했듯이 변수를 사용할 수 있습니다. 정규식의 일치 부분에서 변수를 인용해야 합니다.