PIKT

Samples: Truncate File

PIKT Logo
Home FAQ News Intro Samples Tutorial Reference Software Authors Licensing SiteSearch


trunc.pl is a simple Perl script to truncate files, for example logs and other data files.  Many Pikt scripts invoke trunc.pl.  trunc.pl sources from the trunc_programs.cfg file.

#!/usr/bin/perl

# trunc.pl -- truncate a file

die "Usage:  trunc.pl <#lines> <file>\n" unless $#ARGV == 1 ;

$LINES = $ARGV[0] ;
$FILE = $ARGV[1] ;

$BAK = "$FILE.bak.gz" ;
$TMP = "$FILE.tmp" ;

die "no $FILE file!\n" if (! -e $FILE) ;

($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,
 $mtime,$ctime,$blksize,$blocks) = stat($FILE) ;

unlink($BAK) ;
system("/usr/bin/gzip -c $FILE > $BAK") ;
chown($uid, $gid, $BAK) ;
chmod($mode, $BAK) ;

system("/usr/bin/tail -$LINES $FILE > $TMP") ;
chown($uid, $gid, $TMP) ;
chmod($mode, $TMP) ;
rename($TMP, $FILE) ;

[For more examples, see Samples.]

Home | FAQ | News | Intro | Samples | Tutorial | Reference | Software | Authors | Licensing | SiteSearch
Links | SiteIndex | Pikt-Users | Pikt-Workers | Contribute | ContactUs | Top of Page
Page best viewed at 1024x768.   Page last updated 2005-06-22.
This site is PIKT® powered.
PIKT® is a registered trademark of the University of Chicago.
Copyright © 1998-2005 Robert Osterlund.  All rights reserved.

Computer Books at Amazon.com

Perl in A Nutshell
Perl in A Nutshell

Effective Perl Programming
Effective Perl Programming

CGI Programming with Perl
CGI Programming with Perl

Setting Up LAMP
Setting Up LAMP

Learning Perl/Tk: Graphical User Interfaces with Perl
Learning Perl/Tk: Graphical User Interfaces with Perl