Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!elroy.jpl.nasa.gov!euclid.jpl.nasa.gov!pjs From: pjs@euclid.jpl.nasa.gov (Peter Scott) Newsgroups: comp.unix.questions Subject: Re: How to print last pages of a file? Message-ID: <1991May3.002457.18028@elroy.jpl.nasa.gov> Date: 3 May 91 00:24:57 GMT References: <1991May2.162355.779@elroy.jpl.nasa.gov> <1991May2.182639.21845@iwarp.intel.com> Sender: news@elroy.jpl.nasa.gov (Usenet) Reply-To: pjs@euclid.jpl.nasa.gov Followup-To: comp.unix.questions Organization: Jet Propulsion Laboratory, NASA/Caltech Lines: 38 Nntp-Posting-Host: euclid.jpl.nasa.gov In article <1991May2.182639.21845@iwarp.intel.com>, merlyn@iwarp.intel.com (Randal L. Schwartz) writes: > In article <1991May2.162355.779@elroy.jpl.nasa.gov>, pjs@euclid (Peter Scott) writes: > | How can I print the last pages of a text file? Said file has form > | feeds at random places, so "tail -132 file | lpr" won't work. Now, I tried > | "pr file | tail -132" but that includes the 5-line headers and footers > | that I don't want and don't get with "lpr file". So I tried > | "pr -t file | tail -132" but the -t option turns off page filling so the > | form feeds aren't expanded :-(. > | > | Any suggestions? SunOS 4.1 over here. > > A quick Perl solution: > > ################################################## snip > #!/usr/bin/perl > > $tail = shift || 1; > ## first arg is number of pages to tail (default is 1) > ## rest of args are processed like "cat" > > $/ = "\f"; # input separator set to form-feed > while (<>) { > push(@q,$_); > shift(@q) while @q > $tail; # keep only $tail pages in queue > } > print @q; > exit 0; > ################################################## snip Hmm, nice, but tell me, does it work when a page *doesn't* have a form feed to separate it? I.e., there's more than 66 lines between FF's? BTW, I should have said "*66" instead of "132" in my posting. Obviously my immediate need is to print 2 pages... -- This is news. This is your | Peter Scott, NASA/JPL/Caltech brain on news. Any questions? | (pjs@euclid.jpl.nasa.gov)