Tôi đang sử dụng sed. Tôi đã sử dụng một biểu thức chính xác theo như tôi có thể thấy, nhưng sed không làm gì cả. Hóa ra tôi đang sử dụng \s+
mà sed không thể hiểu và khi tôi chuyển sang [ ]+
nó hoạt động.
Vì vậy, để tóm tắt, tôi đã tạo một regex để nó hoạt động, tôi phải thoát gần như mọi thứ và xóa \s
khoảng trắng. Có vẻ như có một chế độ để tránh tất cả những điều này. -r
Vì vậy, tôi muốn hỏi:
- Tại sao không phải
-r
là chế độ mặc định cho sed? Tại sao tôi phải đi quá nhiều rắc rối để thoát khỏi mọi thứ? man
nói rằng có tùy chọn--posix
và "POSIX.2 BREs nên được hỗ trợ" Điều này đề cập đến điều gì? Chế độ NFA / DFA?
\s+
sử dụng perl[[:space:]][:space:]]*
trong BRE và tương tự hoặc[[:space:]]+
trong ERE.