Tôi muốn thực hiện grep cho các từ khóa có dấu ngoặc kép bên trong. Để đưa ra một ví dụ đơn giản:
echo "member":"time" | grep -e "member\""
Điều đó không phù hợp. Làm thế nào tôi có thể sửa chữa nó?
Câu trả lời:
Vấn đề là bạn không thoát đúng chuỗi đầu vào, hãy thử:
echo "\"member\":\"time\"" | grep -e "member\""
Ngoài ra, bạn có thể sử dụng dấu ngoặc kép không thoát trong dấu ngoặc kép:
echo '"member":"time"' | grep -e 'member"'
Đó là một vấn đề tùy chọn mà bạn thấy rõ ràng hơn, mặc dù cách tiếp cận thứ hai ngăn bạn lồng lệnh của mình trong một tập hợp các dấu nháy đơn khác (ví dụ ssh 'cmd'
).
echo '"member":"time"' |grep -e 'member"'
. Cả hai cách tiếp cận đều hợp lệ, nhưng tôi thích thoát rõ ràng hơn, vì mục đích rõ ràng hơn.
echo '"member":"time"' |grep -e "member"
không kiểm tra