경로에 많은 추가 문자가 있는 sed를 사용하는 방법은 무엇입니까? [복사]

경로에 많은 추가 문자가 있는 sed를 사용하는 방법은 무엇입니까? [복사]

sed아래 괄호 안의 예제 줄 전체를 바꿀 수 있나요 ? /대체하려는 실제 줄에 다른 특수 문자가 많이 있기 때문에 사용할 구분 기호를 찾는 데 어려움을 겪고 있는 것 같습니다 .

교체해야 할 라인:

제가 사용하고 싶은 실제 선이 눈에 그다지 친숙하지 않기 때문에 이것은 임의의 예입니다.

[...]
<example>=(a,b,c);{!@#$%^&*?/};</example>
[...]

이에 더 적합한 도구가 있으면 알려주시기 바랍니다. 어떤 도움이라도 대단히 감사하겠습니다.

답변1

바꾸고 싶다면모두OK, 비슷한 방식으로 간단한 해결 방법을 사용할 수 있습니다이 답변.

이것은 당신의 라인입니다:

<example>=(a,b,c);{!@#$%^&*?/};</example>

해결 방법은 파일의 나머지 부분보다 먼저 이 줄을 인쇄한 다음 Sed를 사용하여 첫 번째 줄과 정확히 일치하는 줄을 변경하는 것입니다.

{ printf '%s\n' '<example>=(a,b,c);{!@#$%^&*?/};</example>'; cat somefile;} |
  sed -e '1h;1d;G;s/^\(.*\)\n\1$/text to change to/;t' -e 's/\n.*$//'

그러나 - 배워야 한다Sed 정규식에서 이스케이프해야 하는 문자, 그래도.

관련 정보