how to compare file modification time in bourne shell script

Larry Wall lwall at jpl-devvax.JPL.NASA.GOV
Wed Jul 25 06:24:04 AEST 1990


In article <1990Jul23.233044.2729 at silma.com> aab at silma.UUCP () writes:
: 
: I need to compare the modification times of two files in a bourne shell
: script. I would like to do this without writing C code.
: Machine is Sparcstation 1 running SunOS 4.03c
: 
: Thus I need a function:
: 
: newer file1 file2
: 
: that returns 0 if file1 is newer than file2 else returns 1
: 
: Can it be done?

Several ways.

[ X`find file2 -newer file1 -print` = X ]

perl -e 'exit ((stat("file1"))[9] < (stat("file2"))[9])'

ls -lt file1 file2 | tail -1 | grep file2 >/dev/null

All of these should work on a Sun.  Some machines may not have a -newer
option to find or a grep that returns a reasonable status.  Some really
primitive machines don't have Perl.  :-)

Larry Wall
lwall at jpl-devvax.jpl.nasa.gov



More information about the Comp.unix.questions mailing list