Você pode personalizar a saída de timestamp de ls para ser mais facilmente compreensível:
ls -ln --time-style="+%Y%m%d%H%M%N"
e, em seguida, comparar datas é tão fácil de comparar strings. Você teria que fazer isso com o awk:
ls -ln --time-style="+%Y%m%d%H%M%N" | tail -n +2 | awk -F " " '$6 > "201108100000000000000" {$1=$2=$3=$4=$5=$6=""; print substr($0, 7)}'
Tenha o cuidado de usar a opção correta -a
ou -c
no momento certo do arquivo.
E lembre-se que ctime não é hora de criação, é a hora da mudança de inode (criação, permissão, mudança de tamanho de arquivo, ...).
Editar :
o awk pode até ser evitado:
ls -ln --time-style="+%Y%m%d%H%M%N" | tail -n +2 | \
while read perms inode user group size date file; do
if [ $date > "201108100000000000000" ]; then
printf "%s\n" "$file"
fi
done