Это будет выглядеть примерно так, но я бы проверил его на COPY ваших файлов в каталоге самостоятельно. Если/когда он работает, удалить слово echo
в третьем к последней строке, потому что на данный момент, это только показывает, что он будет делать, ничего не делая:
#!/bin/bash
i=1
while IFS=$'\n' read f; do
# Get file creation date through mdls
creation=$(mdls -raw -name kMDItemFSCreationDate "$f")
# Convert that to seconds for sorting
epoch=$(date -j -f '%Y-%m-%d %H:%M:%S %z' "$creation" +%s)
# And send on to "sort" along with the filename
echo $epoch:$f
done < filelist.txt | sort | while IFS=":" read d f; do
echo mv "$f" file$i
((i++))
done
Это предполагает ваш список файлов хранятся в файл под названием filelist.txt