grep và regex: vì sao "ERROR|WARN" không chạy, và ba phương ngữ BRE/ERE/PCRE
Ai cũng dùng grep, nhưng ít người biết grep có tới ba phương ngữ regex — và dùng nhầm là nguyên nhân của cái bẫy kinh điển: grep "ERROR|WARN" không tìm "ERROR hoặc WARN". Bài này chạy grep thật trên log mẫu: đếm và đảo, BRE vs ERE, trích IP bằng -o, lấy giá trị sau user= bằng PCRE \K, và tìm từ lặp bằng backreference.