한 줄 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이 말했듯이 변수를 사용할 수 있습니다. 정규식의 일치 부분에서 변수를 인용해야 합니다.