Это не bash
, это find
. Следующие символьные ссылки в рекурсивном обходе каталога часто приводят к бесконечным циклам (рассмотрите общий прием ln -s foo .
обеспечить путь совместимости). POSIX find
включает -follow
предикат для переопределения этого; возможно, более полезно в этом случае, GNU находит, обеспечивает -H
следовать только за символьными ссылками, непосредственно указанными как параметры, продолжая стараться не разворачивать символьные ссылки, найденные во время обхода. Вы могли использовать их с псевдонимом:
alias find='find -H'
Необходимо использовать 2 grep
s.
grep -i '12-12.*[[:space:]]warning' log.file | grep -v '1234$'
С другой стороны, Вы могли использовать тот awk
awk '/12-12.*[[:space:]]warning/ && ! /1234$/' log.file