Cơ bản về grep
Thuộc phần Kiến thức cơ bản trong hành trình Terminal của Coddy. Bài học 34 trên 82.
grep là viết tắt của Global Regular Expression Print. Đây là một trong những lệnh terminal mạnh mẽ và phổ biến nhất. Lệnh này tìm kiếm trong các tệp và in ra mọi dòng có chứa mẫu khớp.
Chúng ta có server.log:
info: server started
info: listening on port 8080
error: disk full
warning: high memory usage
info: request received
error: connection timeout
info: server shutdown
Định dạng cơ bản là:
grep "pattern" filenameVí dụ, để tìm mọi dòng chứa từ error:
grep "error" server.logĐầu ra:
error: disk full
error: connection timeoutChỉ các dòng có chứa error mới được in ra. Tất cả các dòng khác đều bị ẩn.
Tìm kiếm trong nhiều tệp:
grep "error" *.log # tìm trong tất cả các tệp .logTìm kiếm cụm từ có dấu cách:
grep "connection timeout" server.logPhân biệt chữ hoa chữ thường:
Theo mặc định, grep phân biệt chữ hoa chữ thường. Vì vậy, tìm kiếm error sẽ không khớp với Error hoặc ERROR:
grep "error" server.log # khớp với: error
grep "Error" server.log # khớp với: Error
grep "ERROR" server.log # khớp với: ERRORThử thách
Người mớiDùng grep để tìm trong server.log và chỉ in ra những dòng có chứa từ error.
Gợi ý: Cú pháp là
grep "pattern" filename. Hãy nhớ rằnggrepphân biệt chữ hoa chữ thường: dùngerrorviết thường.
Tự làm thử
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức cơ bản
4Thư mục
Tạo thư mụcSao chép thư mụcDi chuyển và đổi tên thư mụcXóa thư mụcÔn tập: thao tác với thư mục7Nội dung tệp
Head và tailĐếm từLệnh sortLệnh uniqueCơ bản về grepGrep với các cờÔn tập: Thám tử văn bản2Điều hướng
In đường dẫn thư mục hiện tạiLiệt kê tệpChuyển thư mụcĐường dẫn tuyệt đối và tương đốiThư mục chính và thư mục gốcÔn tập: tìm đường8Chuyển hướng
Đầu ra chuẩnGhi đè vào tệpGhi thêm vào tệpĐầu vào chuẩnLỗi chuẩnÔn tập: Công cụ tạo nhật ký6Ký tự đại diện và mẫu
Ký tự đại diện dấu saoKý tự đại diện dấu hỏiKý tự đại diện trong ngoặc vuôngKết hợp ký tự đại diệnÔn tập: thao tác có chọn lọc9Đường ống
Đường ống là gìNối hai lệnh bằng đường ốngNối nhiều lệnh bằng đường ốngDùng đường ống với grepÔn tập: luồng xử lý dữ liệuTự luyện tập: Playground Terminal