Guardando alla sua domanda di nuovo, ho avuto in retromarcia. Il mio codice è in movimento tutti i file creare DOPO quella in questione. La "creato" significa anche "modificato". In UNIX, non si sa quando un file è stato "creato". Devi solo sapere quando i dati sono stati modificati e quando il file di meta-informazioni ( "
inode") È stato modificato. Se si modifica il file di permessi o di proprietà, si desidera modificare il file di meta-informazioni.
Il mio codice anche rinominato il file con il numero di secondi dal 1970, anziché nel formato che si voleva. Quindi, il miglioramento sul mio versione originale:
Codice:
get_filetime()
{
find . -name "$1" -printf "%TY%Tm%Td%TH%TM%TS\n"
}
cd $TARGET_DIR
touch __stop__$$
ls -lt | grep '^-' | awk '/__stop__'$$'$/ { start=1 } start,0' |
while read file; do
filetime=`get_filetime $file`
mv $file $NEWDIR/$file_$filetime
done
rm -f __stop__$$