Ví dụ: điều này không tìm thấy tệp:
: > 12; basename $(find -E . -regex '^(.*)(\d{2})' -print 2>/dev/null)
Nhưng điều này không:
basename $(find -E . -regex '^(.*)([0-9]{2})' -print 2>/dev/null)
Đồng thời, ví dụ:
echo -e '12\nabc\n456' | grep -E -e '^(\d{3})'
hoạt động khá tốt, mặc dù dường như sử dụng như nhau regcomp().
Tôi đang làm gì sai và làm cách nào để khắc phục?
grepsử dụng mộtBSDmã cơ sở, khôngGNU grep. Các-Etùy chọn là một mosh củaPOSIX ERE and PCREvà tôi tin độc quyền cho OS X.findsử dụngBREvàEREvà\dlớp nhân vật không hợp lệ.