Как найти файлы по расширению размеру дате. Тут хорошо показала себя команда find. У неё есть один недостаток - это скорость работы. Советую вам запустить команду и пойти пить чай. Она довольно долго работает. Из достоинств можно отметить глобальный поиск файлов папок в системе линукс.
# поиск по названию
find -name "*text*"
# поиск по расширению от корня
find ~/ -name '*.txt'
#поиск картинок: png, jpg, jpeg
find . \( -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" \) -print
# Найти все файлы в каталоге /home/dir1/proj1
find /home/dir1/proj1 -mtime 1
# mtime = время последнего изменения файла
# ctime = время последнего изменения атрибутов файла (через 'chmod' или как-то иначе)
# atime = время последнего обращения к файлу
# пользуйтесь данной командой с осторожностью. Может удалить важные данные
DIR=/home/dir1/proj2
find "$DIR" -type f -atime +5 -exec rm {} \;
# Удалить все файлы в каталоге "/home/dir1/proj2"
#+ к которым не было обращений в течение последних 5 дней.
# "-type filetype", где# f = обычный файл
# d = каталог, и т.п.# (Полный список ключей вы найдете в 'man find'.)
# Теперь "позаботимся" о файлах, чьи имена содержат пробельные символы.
find . -name "* *" -exec rm -f {} \;
# На место "{}", find подставит полное имя файла.
# Символ '\' указывает на то, что ';' интерпретируется как обычный символ,
# а не как конец команды.
Помимо утилиты find утилита grep хорошо справится с подобной задачей. Подробнее читайте в статье поиск по файлам и папкам grep BASH