Ну, первое, что нужно сделать , это выяснить, где тратится время. Это find
или grep
. Вы можете установить стоимость find
, просто запустив:
time find -type f -newermt "aug 27, 2018 02:30" ! -newermt "aug 28, 2018 02:30" -exec true \;
Тогда, если grep
занимает все время, есть пара возможностей:
- Создайте пакет
files
, используя xargs
, чтобы запустить один grep
для гораздо больших групп файлов. Как правило, это поможет, только если имеется большое количество файлов, которые могут иметь или не иметь место.
- Узнайте, как оптимизировать шаблон, который вы ищете. Я предполагаю, что шаблон, который вы предоставили, является общим, поэтому мы не сможем помочь с этим, если не будем точно знать, что это такое. Одна из возможностей (если ваш идентификатор является фиксированной строкой) - использовать
grep -F
вместо grep
, так как он может быть оптимизирован для этого варианта использования. Да, и, кстати, -r
, вероятно, не имеет значения, так как вы все равно обрабатываете файлы - нет необходимости повторять.