![경로에 많은 추가 문자가 있는 sed를 사용하는 방법은 무엇입니까? [복사]](https://linux55.com/image/98158/%EA%B2%BD%EB%A1%9C%EC%97%90%20%EB%A7%8E%EC%9D%80%20%EC%B6%94%EA%B0%80%20%EB%AC%B8%EC%9E%90%EA%B0%80%20%EC%9E%88%EB%8A%94%20sed%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
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 정규식에서 이스케이프해야 하는 문자, 그래도.