Privoxy를 사용하여 줄을 삭제하는 방법은 무엇입니까?

Privoxy를 사용하여 줄을 삭제하는 방법은 무엇입니까?

나는 privoxy와 무언가를 교환하는 방법을 알고 있습니다. 예를 들면 다음과 같습니다.

s/class="node ad"/class="node ad" style="display:none"/g

하지만 privoxy를 사용하여 행을 삭제하는 방법은 무엇입니까? 예: 행에 다음이 포함된 경우:

RANDOM STRING BEFORE<a href="/forum/100">Offtopic</a></td>RANDOM STRING AFTER

그러면 해당 줄을 제거하려면 user.action 파일에 무엇을 작성해야 합니까?

Privoxy에서 이 "sed" 효과를 찾고 있습니다.

echo -e "asdf\nsomething2\nadf" | sed '/thing2/d;'

user.filter 파일에서 "/Offtopic/d"를 사용하면 작동하지 않습니다. (예, user.filter에는 완벽하게 작동하는 다른 규칙이 있습니다.)

답변1

정규식에 대해 읽어보고 싶을 수도 있습니다. 게시한 줄은 정규식입니다.

s/class="node ad"/class="node ad" style="display:none"/g

이는 "첫 번째 문자열의 모든 항목을 두 번째 문자열로 대체"를 의미합니다.

무언가를 제거하려면 다음과 같이 두 번째 문자열을 비워두면 됩니다.

s/class="node ad"//g

그러면 해당 문자열이 모두 제거됩니다.

전체 줄을 일치시키려면 다음을 사용할 수 있습니다.

s/^.*some_string.*$//g

여기서 ^는 "줄의 시작"을 의미하는 특수 문자, $"줄의 끝"을 의미하고 .모든 문자를 의미하며 *해당 문자가 0개 이상 반복되는 것을 의미합니다.

따라서 "모든 문자의 0개 이상의 반복", "some_string", 그리고 다시 "0개 이상의 모든 문자 반복"과 일치합니다(원하는 대로 수행되어야 합니다).

더 자세히 알고 싶다면 정규식에 대한 좋은 소개를 참조하세요.

답변2

Privoxy에 대해서는 모르지만 위의 교체 문에서할 수 있다일하다:

s/^.*<a href="/forum/100">Offtopic</a></td>.*$//

관련 정보