I recently needed to compile an automatic image show with a digital projector which could show JPG images by itself. However, it showed them sorted by time, oldest image first, not by name (I did name them 000.jpg, 001.jpg, etc.). So I decided to change the modification dates in an incremental way. A simply shell loop with touch didn't give good enough results, I need to add sleep 1; (or even 2) which of course takes too long.

So, Perl came to the rescue: The following small script takes a list of files and gives the last file the current time while every previous file is dated one second earlier. This worked very well with my projector.

#!/usr/bin/perl use strict; use warnings; my $timestamp = time; for my $file (reverse @ARGV) { utime $timestamp, $timestamp, $file; $timestamp--; }

Replies are listed 'Best First'.
Re: Incremental date for a list of files
by Anonymous Monk on Sep 14, 2011 at 15:08 UTC
    What no playlist option? Wow :)