Ответ 1
Я не уверен, сколько файлов у вас в вашем каталоге, но что-то вроде этого должно быть ослепительно быстрым:
ls -al | awk '$6 == "Jan" && $7 >= 16 && $7 <= 20 {print $9}'
В моей системе я вижу следующее с датами, слегка измененными:
pax> ls -al | awk '$6 == "Jan" && $7 >= 16 && $7 <= 29 {print $9}'
kids_shares.ods
our_savings.gnumeric
photos
pax> ls -ald kids_shares.ods our_savings.gnumeric photos
-rw-r--r-- 1 pax pax 51005 Jan 29 19:39 kids_shares.ods
-rw-r--r-- 1 pax pax 2275 Jan 28 14:48 our_savings.gnumeric
drwxrwxrwx 130 pax pax 4096 Jan 29 21:47 photos
Вы можете видеть, что даты соответствуют указанным файлам.
Одна вещь, на которую нужно обратить внимание: если файл является последним, он будет иметь время в столбце 8. Вне определенного возраста ls
начинает вводить год. У меня есть смутное воспоминание о том, что это где-то около шестимесячной границы, но я не совсем уверен. Вам также нужно будет справиться с этим.