Если вы хотите узнать, соответствует ли последняя строка шаблону, используйте sed
и ограничьте совпадение последней строкой с помощью $
. sed
не может легко дать возвращаемое значение или сделать красивую печать имени файла, как grep
, но оно выполняет свою работу.
find . -exec sh -c "sed -n '$ { /FIX/p; }' {} | grep -q . " \; -print
Здесь мы используем -n
для подавления печати, а затем печатаем (с /p
) только тогда, когда последняя строка соответствует шаблону /FIX/
. Выходные данные передаются в grep, чтобы получить возвращаемое значение, которое find
использует, чтобы решить, следует ли -print
имя.
Или вы можете избежать использования grep для возврата, выполнив что-то вроде:
find . -exec awk 'END{ exit ! match($0, "FIX")}' {} \; -print