Вам нужно будет отсканировать все файлы и получить первую строку, затем проверить шаблон и, наконец, выполнить печать первых десяти строк. Это может стать очень дорогим.
find /path/to/search \
-type f \
-exec /bin/bash -c "head -n 1 '{}' | grep 'PATTERN' >/dev/null" \; \
-exec head -n 10 \{\} \;
-type f
требуется, чтобы не запускать head
для каталогов, а grep
перенаправляется, так как нас интересует только его состояние выхода. Второй -exec
будет запущен только для тех файлов, которые прошли первый тест.
Рекомендуется добавить дополнительные тесты перед -type f
, чтобы уменьшить количество проверяемых файлов.