Bash:
Sử dụng biểu thức chính quy
Cách thực hiện:
# Tìm kiếm một mẫu
echo "I love to code in Bash" | grep -oP 'code'
# Đầu ra:
code
# Thay thế chuỗi sử dụng regex với sed
echo "Bash 2023" | sed -E 's/[0-9]+/2024/'
# Đầu ra:
Bash 2024
# Trích xuất chuỗi con bằng regex
echo "Error: Line 42" | grep -oP '(?<=Line )\d+'
# Đầu ra:
42
Sâu hơn
Biểu thức chính quy đã có từ những năm 1950, ban đầu được nghĩ ra bởi nhà toán học Stephen Kleene. Các phương án thay thế cho regex trong Bash bao gồm việc sử dụng awk
hoặc perl
, mỗi người có khả năng regex riêng của mình. Về mặt thực hiện, Bash sử dụng grep cho việc tìm kiếm, sed
cho tìm kiếm và thay thế, và toán tử =~
trong [[ ]]
cho điều kiện. Hãy lưu ý rằng regex có thể khác biệt giữa các công cụ (grep
, egrep
, sed
, và awk
), vì vậy cần biết rõ loại bạn đang làm việc.