Awk обобщает понятие строк для записи, который может быть завершен любым символом. Несколько реализаций, таких как Простофиля, поддерживают произвольное регулярное выражение как разделитель записей. Непротестированный:
gawk -vRS='C' 'sub(/.*A/, "") && sub(/B.*/) {print}'
Проблема состоит в том, что у каждого пользователя есть пределы. Среди этих пределов открытый файл ограничивает количество ресурсов, которые можно запросить к ОС.
Все - файл на UNIX: сокет, каналы, фактические файлы, Ваш монитор, и т.д.
Что-то открывает слишком много файлов. Узнайте, почему при помощи команды как "fstat" или "lsof", это перечислит все открытые файлы. Надо надеяться, Вы сможете уладить это и найти процесс, кто был ответственен за это. Выследите его. Можно осмотреть "термофиксатор" также, если Вы хотите проверить, открыт ли определенный файл легко.
Счастливый поиск.
Я могу высказать Вам хорошее предположение... это - вероятно, функция поиска в GNOME. Большинство средств поиска с открытым исходным кодом должно контролировать файлы для действия. В Linux это очень эффективно, но в BSD нет никакого inotify. Они используют kqueue, который является большим за исключением того, что он израсходовал все Ваши дескрипторы файлов. Можно увеличить предел или поворот функций поиска/контроля. Существуют несколько, и это можно было бы назвать гончей.