파일의 단어로 바꾸기

파일의 단어로 바꾸기

</div>나는 "Index:"라는 단어가 포함된 거의 2500페이지에 달하는 매우 긴 문서를 변경하고 싶었지만 전혀 작동하지 않았습니다. 나는 sed다음과 같은 다양한 방법을 시도했습니다.

 sed '/s^[</div>]/Index:/g'

그러나 성공하지 못했습니다!

올바른 명령이 무엇인지 알려주세요.

</div>
</div>
<script src="https://cdn.pkgs.org/assets/js/main.min.js?v10"></script>
<script>
$(document).ready(function () </div> {
app.init("pkgs.org", 101);
})
</div>
</script>
</body>

나는 그것을 원한다

Index:
Index:
<script src="https://cdn.pkgs.org/assets/js/main.min.js?v10"></script>
<script>
$(document).ready(function () Index {
app.init("pkgs.org", 101);
})
Index:
</script>
</body>

답변1

대괄호를 제거하고 %대신 구분 기호 /로 사용하여 in 와의 혼동을 sed막고 구분 기호를 s 앞의 뒤로 이동하고 캐럿을 제거하면 정규 표현식이 작동합니다./</div>

sed 's%</div>%Index:%g'

답변2

세 가지 질문이 있습니다.

  1. sed 명령의 구문이 잘못되었습니다. 검색 및 바꾸기 명령을 의미한다고 생각하므로 's'가 슬래시 앞에 와야 합니다.

    sed 's/^[</div>]/Index:/g'

  2. 실제로 검색 문자열에 sed를 혼동시키는 슬래시('/') 문자가 포함되어 있습니다. 따라서 백슬래시를 사용하여 슬래시를 이스케이프 처리할 수 있습니다.

    sed 's/^[<\/div>]/Index:/g'

    또는 다른 문자를 구분 기호로 사용하세요.

    sed 's|^[</div>]|Index:|g'

  3. [</div>]검색 시 대괄호( )를 사용하고 있는데 이는 원하는 결과가 아닙니다. 표현식은 대괄호 안의 모든 문자와 한 번만 일치합니다. 대괄호 없이 다음 명령을 시도해 보세요.

    sed 's|^</div>|Index:|g'

관련 정보