Xref: utzoo comp.unix.questions:30955 comp.lang.perl:5165 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!uunet!stanford.edu!agate!ucbvax!iwarp.intel.com!news From: merlyn@iwarp.intel.com (Randal L. Schwartz) Newsgroups: comp.unix.questions,comp.lang.perl Subject: Re: How to print last pages of a file? Message-ID: <1991May2.182639.21845@iwarp.intel.com> Date: 2 May 91 18:26:39 GMT References: <1991May2.162355.779@elroy.jpl.nasa.gov> Sender: news@iwarp.intel.com Reply-To: merlyn@iwarp.intel.com (Randal L. Schwartz) Followup-To: comp.unix.questions Organization: Stonehenge; netaccess via Intel, Beaverton, Oregon, USA Lines: 37 In-Reply-To: pjs@euclid.jpl.nasa.gov (Peter Scott) 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 Perl is available for free for all UNIX-like os's at any of the GNU sites or devvax.jpl.nasa.gov. print "Just another Perl hacker," -- /=Randal L. Schwartz, Stonehenge Consulting Services (503)777-0095 ==========\ | on contract to Intel's iWarp project, Beaverton, Oregon, USA, Sol III | | merlyn@iwarp.intel.com ...!any-MX-mailer-like-uunet!iwarp.intel.com!merlyn | \=Cute Quote: "Intel: putting the 'backward' in 'backward compatible'..."====/