block list formats
rn kill file
Rn and trn ========== 5. What is the general syntax of a KILL file entry? The general style for building a kill line is: /pattern/modifiers:command The <pattern> is the pattern to use to pick articles. This is a regular expression, like those used in grep. You can use any case in the pattern; t won't matter, unless you use a modifier to make rn case-sensitive. The <modifiers> tell rn where to look for the pattern - the subject (default), one of the other header lines, or the entire article, as examples of the usual modifiers used. The command tells what to do with the article once it's been selected. This is usually either to kill it or to mark it unread. If no modifier appears before the colon, only the subject line of the article is searched. More than one command can be performed by using the style: /pattern/modifier:command:command Thus, for instance, you can use j and = together to see the exact subject lines being killed. (See below for the explanation of j and =.) 6. What are the available modifiers and commands? The modifiers and commands are all explained in the rn man page, but here are some of them: Modifiers: a: all, look through the entire article for the pattern h: look through the header of the article for the pattern f: look at only the 'From:' header (trn 3.0) c: Make the pattern case sensitive H: added in trn 3.1, this expands the f: above to any header Commands: m mark as unread j mark as read = show subject line ... 7. How do I kill a specific subject? The easiest way to kill a subject line is to kill it from within the newsgroup. When the subject line comes up that you want to kill, instead of using 'n' to skip that article or 'k' to kill the subject for that session, type 'K'. The subject line will then be entered into your KILL file for that group. If you want to put that line into your global KILL file, you'll have to do that yourself. To kill a general subject, ie any 'test' messages, put in the pattern: /test/:j This will kill anything with the word 'test' in the subject line. 8. How do I kill postings from a specific person? To kill articles from a single poster, you need to know the userid and nodename of the poster; for this example we'll use firstname.lastname@example.org. /^From:.*noone@anywhere\.all/h:j This searches the entire header for any line starting with 'From:', anything at all, and then 'email@example.com' in it. This is faster than if the beginning-of-line character (^) had been left out: /From:.*noone@anywhere\.all/h:j If this were used, something like 'Subject: Re: Articles from: firstname.lastname@example.org' would also get killed. 9. How do I kill articles from a specific site? For articles from a particular site, just remove the 'noone' from the previous lines, and articles from the machine 'anywhere.all' will be killed. So, the line would be: /^From:.*@anywhere\.all/h:j 10. How do I kill followups? To kill anything that is a followup to any article, use this pattern: /Re:/:j This kills anything with 'Re:' in it. (This includes articles of the form 'Subject: X (Was Re: Y)'.) If you just want to kill the direct followups, without the changes in subject, you have to make it clear where the Re: is in the line: /^Subject: Re:/:j
trn kill file features
Again from the killfile faq.
Trn === 15. What's different about trn? Trn, being a threaded version of rn, has a few extra enhancements to deal with those. Because rn is no longer being improved, there are also extensions that have been made that could, but are not, be integrated into the base rn killfiles. One of the additions to trn is the f modifier, meaning the From: line. This line gets used so much it seemed appropriate to add a modifier in specifically for it. So, now, killing or marking articles can be done on the basis of the From: line quite easily, now: /noone@anywhere\.all/f:j /noone@anywhere\.all/f:m It looks just like the Subject: line, except with the addition of the 'f' in the modifier position. However, the `f' modifier *may* not work exactly in the same manner as the subject-based criteria if trn is configured to use thread files. Specifically, if thread files are used only the 'Real Name' portion of the from line can be guaranteed to be matched. To ensure that your match will work on an address, you need to change the above lines to: /noone@anywhere\.all/Hfrom:j /noone@anywhere\.all/Hfrom:m
Many USENET newsreaders including Gnus, slrn and others implement score-file functionality, which lets you provide scoring rules that end up giving a post an integer value from -9999 to 9999. Here are some examples from [User:TomMorris|Tom Morris]' score file that was generated by slrn:
[*] Score: =-9999 %Expires: Subject: =\?windows-1252* %EOS %BOS %Score created by slrn on Fri Nov 7 16:24:33 2008 [*] Score: =-9999 %Expires: Subject: CREDIT CARD SERVISES From: MEGAL <megal47@yahoo\.com> References: <43cd6752-09e2-4284-a296-b9f7eb4d1b98@a29g2000pra\.googlegroups\.com> % Xref: uni-berlin\.de comp\.lang\.ruby:298844 comp\.lang\.php:173405 comp\.soft-sys\.sas:281663 comp\.lang\.lisp: 261578 comp\.arch\.embedded:269623 % Newsgroup: comp\.lang\.ruby %EOS %BOS %Score created by slrn on Fri Nov 7 20:26:07 2008
The rules have the following features:
- the first line (with the '*') is where the rule applies - the asterisk refers to it being applicable to all newsgroups
- the Expires: line allows you to specify a yyyy-mm-dd expiry date for the rule. In slrn, you can specify this in a restricted natural language syntax like "one month" (I think)
- all the headers can be marked using wildcards. If you just want to filter one conversation, the References: allows you to do so. You can also filter messages originating with particular servers (googlegroups being one that is particularly spammy) by using a filter like "References: *googlegroups*"
Gnus, the Emacs newsreader, supports scoring posts both positively and negatively -- as such, its scoring functionality is a superset of just killing. The file format is an emacs lisp expression, described in the score file format section of the Gnus manual.