234 lines
11 KiB
Plaintext
234 lines
11 KiB
Plaintext
Path: bloom-beacon.mit.edu!hookup!europa.eng.gtefsd.com!news.umbc.edu!haven.umd.edu!umd5.umd.edu!syrinx.umd.edu!phillips
|
|
From: phillips@syrinx.umd.edu (Leanne Phillips)
|
|
Newsgroups: news.newusers.questions,news.software.readers,news.answers
|
|
Subject: rn KILL file FAQ
|
|
Supersedes: <killfile.faq_764159119@syrinx.umd.edu>
|
|
Followup-To: news.newusers.questions
|
|
Date: 19 Apr 1994 14:00:39 GMT
|
|
Organization: University of Maryland, College Park
|
|
Lines: 215
|
|
Approved: news-answers-request@mit.edu
|
|
Distribution: world
|
|
Expires: 20 May 94 02:00:29 GMT
|
|
Message-ID: <killfile.faq_766764029@syrinx.umd.edu>
|
|
Reply-To: phillips@syrinx.umd.edu
|
|
NNTP-Posting-Host: syrinx.umd.edu
|
|
Originator: phillips@syrinx.umd.edu
|
|
Xref: bloom-beacon.mit.edu news.newusers.questions:17041 news.software.readers:6999 news.answers:18285
|
|
|
|
Archive-name: killfile-faq
|
|
Last modified: 16 Sep 1993
|
|
|
|
Summary of changes: Corrected one misleading statement about the f: modifier.
|
|
Added a paragraph about the H: modifier of trn 3.1.
|
|
|
|
Send comments, suggestions, corrections to phillips@syrinx.umd.edu.
|
|
|
|
Rn and trn, and other varieties of rn, have a very useful feature called
|
|
the KILL file, which allows you to kill (skip over) articles that you don't
|
|
want to see. There is some support for killfiles in xrn, but the support is
|
|
limited; nothing in here is guaranteed to work for xrn. See the xrn
|
|
man page.
|
|
|
|
KILL files come in two forms:
|
|
Global: In your News directory, you will have the file KILL.
|
|
Local: In your News directory, the killfile for group foo.bar
|
|
will be foo/bar/KILL.
|
|
The difference between the two is that there can be one killfile for
|
|
each group (the local killfile), and that killfile affects only the
|
|
particular newsgroup (foo/bar/KILL affects only foo.bar; baz/quex/KILL
|
|
affects only baz.quex, etc). The global killfile affects all newsgroups.
|
|
(There's a way to change the default names of the killfiles, but it's
|
|
more complicated than I want to get into here. See the rn(1) man page.)
|
|
|
|
Killfiles allow you to kill articles based on a number of criteria:
|
|
a subject line, a general subject, articles from one poster, articles
|
|
from one site, articles cross-posted from any other group, or from one
|
|
other group in particular, and articles that are follow-ups to anything at
|
|
all (that is, anything with the Re: in the subject line). You can also
|
|
kill articles with a particular string anywhere in the article.
|
|
|
|
This article assumes you know how to use an editor and that you have
|
|
created the directories for any local killfiles you may need. Remember
|
|
that the name of the file is KILL, not kill or Kill; caps are important.
|
|
|
|
The general style for building a kill line is:
|
|
|
|
/pattern/modifiers:command
|
|
|
|
Now, that is obviously not useful to know without understanding it. The
|
|
modifiers and commands are all explained in the rn man page, but here are
|
|
some useful ones:
|
|
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)
|
|
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
|
|
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.
|
|
It doesn't matter if you use uppercase or lowercase in the pattern; the
|
|
program will assume they're the same thing. That is, "Test" and "test"
|
|
used in the pattern mean exactly the same thing; only one is necessary.
|
|
If you want case to matter, see the rn(1) man page, the 'c' modifier.
|
|
|
|
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. (If you don't need it in your global
|
|
file, it's best not to put it there - global kill files slow down your news
|
|
reading a lot. So does using the 'a' modifier; use it sparingly.)
|
|
(I should mention here the easiest way to start editing your kill files.
|
|
Typing control-k when you're being asked to pick a newsgroup to read will
|
|
start you editing the global killfile; typing the same thing when you're
|
|
reading a newsgroup will start up the editing with the kill file for that
|
|
group. If it doesn't exist, it will create it - including the directories
|
|
necessary. This method is particularly recommended for people creating their
|
|
first kill file.)
|
|
|
|
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.
|
|
|
|
To kill anything that is a followup to any article, use this pattern:
|
|
/.*Re:/:j
|
|
This kills anything beginning with Re:.
|
|
|
|
To kill cross-posts from one particular group, say foo.bar, try this:
|
|
|
|
/Newsgroups:.*[ ,]foo\.bar/h:j
|
|
|
|
This searches the header (the 'h' modifier) for any line containing the
|
|
string 'Newsgroups:' (which all articles do), as well as the string
|
|
'foo.bar'. The other elements of this line are part of the regular
|
|
expression meta-language; see the ed(1) man page for more details.
|
|
(Note that all of them are necessary, particularly the '\' before the
|
|
'.' in foo\.bar.)
|
|
|
|
To kill all cross-posts, from any group at all:
|
|
|
|
/Newsgroups:.*,/h:j
|
|
|
|
If the Newsgroups: line has a ',' in it, it's a cross-post, and therefore
|
|
this will find it.
|
|
Note that the above line searches the entire header, included the
|
|
Subject: line, for that pattern. So a Subject line like:
|
|
Subject: I hate the Newsgroups: line, don't you?
|
|
would get killed by that pattern, because it has a 'Newsgroups:' part, and
|
|
a ','. To make it work properly, use the 'start of line' character, ^.
|
|
The ^ isn't actually there when you look at the header yourself; it just
|
|
means to look for the beginning of the line. So, to kill cross-posts:
|
|
|
|
/^Newsgroups:.*,/h:j
|
|
|
|
should be used instead. (Use of the ^ is recommended if you know the
|
|
pattern you want to catch will be at the beginning of the line; it makes
|
|
searching a lot faster.)
|
|
|
|
To kill articles from a single poster, you need to know the userid and
|
|
nodename of the poster; for this example we'll use noone@anywhere.all.
|
|
|
|
/From: *noone@anywhere\.all/h:j
|
|
|
|
If you're using trn 3.0 (or the appropriate version of rn, which I'm
|
|
not sure of; anyone?), it's even easier to kill articles from a particular
|
|
someone:
|
|
|
|
/noone@anywhere\.all/f:j
|
|
|
|
The 'f' modifier searches only the From: header, so you don't need to
|
|
say the 'From:' yourself; you also don't need to use the 'h' modifier.
|
|
(This is recommended if you have it; it should be faster to get only the
|
|
From: line and search it, rather than looking over the entire header.
|
|
Can anyone verify this, please?)
|
|
|
|
For articles from a particular site, just remove the 'noone' from the
|
|
previous lines, and articles from the machine 'anywhere.all' will be killed.
|
|
(Note again that the \ is important.)
|
|
|
|
You can, in trn 3.1, kill anything from a specific header line, rather than
|
|
using the h: modifier to search the entire header. It looks like the subject
|
|
line one, with a simple change:
|
|
|
|
/string to junk/Hheader:j
|
|
|
|
That is, the modifier becomes 'HReferences' or 'HPath' or whatever header
|
|
it is you want to search. (Could someone verify that I have precisely
|
|
the right syntax?)
|
|
|
|
Now, after all that, you might suddenly find out that you killed articles
|
|
from someone whose posts you want to read even if they write about subjects
|
|
you don't want to read. For that, you need to 'unkill' the articles by
|
|
them:
|
|
/From: *name of person you want to read/h:m
|
|
/name of person you want to read/f:m
|
|
So, if you suddenly decided you wanted to read noone@anywhere.all's
|
|
postings, after having deleted them above, you would add this line:
|
|
|
|
/From: *noone@anywhere\.all/h:m
|
|
|
|
or this, again depending on your version:
|
|
/noone@anywhere\.all/f:m
|
|
|
|
The 'm' becomes useful suddenly. You can substitute m for j any time
|
|
you need to, up above. In fact, you can kill everything in a newsgroup and
|
|
only read what you want to read by using the 'm' feature, and putting this
|
|
line at the top of your KILL file:
|
|
|
|
/^/:j
|
|
|
|
This method has a problem, though. Specifically, it marks even those
|
|
you've already read (really read, not just marked as read) as unread. So,
|
|
there's another way to do it:
|
|
/pattern/:=:M
|
|
(check the rn(1) man page for the M command). This lists all the subjects
|
|
of the new articles, and then gives those articles to the M command. (You
|
|
then have to type 'Y' after the M command has finished.) (For more complete
|
|
information, please write me, and I'll forward on to you an example that was
|
|
posted by David Tamkin.)
|
|
|
|
Finally, you can kill (or mark, of course) a particular pattern appearing
|
|
anywhere in the article, as opposed to just the Subject: line or the header:
|
|
|
|
/pattern/a:j
|
|
and
|
|
/pattern/a:m
|
|
|
|
This is useful for, for instance, killing all articles by a certain user,
|
|
followups to said user's articles, and even mention of the user by userid
|
|
and node, or, conversely, by marking all of those conversations as unread
|
|
so you can read them if they've been killed accidentally by your other
|
|
entries.
|
|
|
|
Further information is available in the rn man page, particularly on
|
|
other available commands and modifiers. Regular expression syntax is
|
|
in the ed(1) man page; the xrn man page gives information about the quirks
|
|
of xrn in relation to killfiles.
|
|
|
|
I'd like to thank Jonathan Kamens and Rich Salz in particular for their
|
|
help, and everyone else who's sent in comments, criticisms, and suggestions;
|
|
keep them coming, folks!
|
|
|
|
Minor administrative note to the suggestors: Several people have suggested
|
|
that, in junking all of the articles and then marking only the desirable
|
|
ones to read, you need to use the 'r' modifier (search read articles as
|
|
well as unread). According to the man page I read, you don't need that;
|
|
if 'm' is the first command, the 'r' is assumed. If anyone wants to test
|
|
this and tell me it's wrong, please do. But please only tell me if it's
|
|
wrong; I'll assume it's right until someone tells me otherwise. :-)
|
|
|
|
Leanne Phillips
|
|
"Go not unto the Elves for counsel, for they will say both yea and nay."
|
|
"Now is _not_ a good time, Keiko!" - Worf, "Disaster"
|
|
"Variety is the spice of life, and I don't want to die." - Scott Borst
|