다음 코드를 사용하여 string1 또는 string2와 일치하는 줄을 바꿉니다. 그것은 HTML 텍스트에서 정상적으로 잘 작동합니다. (나는 regex와 html을 사용하는 것이 눈살을 찌푸 웁니다.) 그러나 한 특정 파일에서는 작동하지 않습니다.SED 일치하는 텍스트 파일의 여러 문자열이 매달 렸거나 완료되지 않았습니다.
코드의 올바른 끝과 코드 검사를 올바르게 시도했습니다. html 줄이 많이있는 것 외에는 실제 파일을 공유 할 수 없습니다.
cat file.txt | sed 's/.*\(string1\|string2\).*/match/'
제공된 세부 사항을 사용하고 파일없이이 명령을 수행 한 이유는 무엇입니까? 귀하의 통찰력이 크게 감사드립니다.
업데이트 : 여기
는 몇 가지 다른 아이디어 :
- 선도 할 수 공백이나 빈 줄은 원인?
- 큰 괄호 또는 특수 문자가 원인 일 수 있습니까?
- SED가 멈추는 원인이 있습니다. 비슷한 경험이 있습니까?
- SED가 멈추는 원인이되는 극단적 인 긴 줄 일 수 있습니까?
업데이트 2 : 나는 하나의 거대한 긴 줄이 있음을 알아 냈
- 494,000 문자. 이 줄은 주로 CSS 코드와 세부 정보입니다.
이제 질문은 ... 긴 줄일까요, 아니면 그 줄 내의 문자입니까?
노드를 사용할 수 있습니까? 그렇다면'document.querySelector'를 사용할 수 있습니다. – Enijar
내 말은, 내가 할 수 있겠지만, 나는 정말로 직선적 인, awk 또는 다른 bash 명령을 사용하는 것을 선호 할 것이다. – DomainsFeatured
충분히 그렇다면 HTML 파일의 예제 부분을 제공해 줄 수 있습니까? – Enijar