Có thể, bằng cách sử dụng grep, để tìm kiếm các trường hợp John Smith
nhưng loại trừ các trường hợp Mr John Smith
?
Có thể, bằng cách sử dụng grep, để tìm kiếm các trường hợp John Smith
nhưng loại trừ các trường hợp Mr John Smith
?
Câu trả lời:
Điều này có thể được giải quyết bằng cách sử dụng biểu thức chính quy với giao diện phủ định (được hỗ trợ bằng thực nghiệm grep
như được chỉ ra bởi nhận xét từ sắp xếp):
$ grep -P '(?<!Mr )John Smith' file
Vì hỗ trợ chỉ là thử nghiệm, nên bạn có thể muốn sử dụng perl
thay thế:
$ perl -nle 'print if /(?<!Mr )John Smith/' file
Để sử dụng biểu thức thông thường, sử dụng ^ và $
grep "^John Smith$"
^ là khớp từ đầu $ là khớp từ cuối.
Cú pháp sẽ thay đổi tùy thuộc vào những gì bạn đang tìm kiếm trong tập tin nào.
Bạn có thể sử dụng các biểu thức thông thường với sed, grep, awk ....
Thí dụ
bodhi@Ubuntu:~ cat file
Mr John Smith
John Smith
John
Smith
bodhi@Ubuntu:~ grep "^John Smith$" file
John Smith
echo $string | grep -P '(?<!Mr )John Smith'
.