나는 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>.*$//