Grep Là Gì? Cách Sử Dụng Lệnh Grep Trong Linux/UNIX | BKHOST
Có thể bạn quan tâm
Trang chủ / Blog / Grep là gì? Cách sử dụng lệnh grep trong Linux/UNIX
# Grep là gì? Cách sử dụng lệnh grep trong Linux/UNIX 24/05/2022 - 09:23 Trịnh Duy Thanh Theo dõi bkhost trên Nội dung bài viếtTrong bài viết này BKHOST sẽ cùng bạn tìm hiểu các thông tin chi tiết liên quan đến các lệnh grep trong hệ thống Linux/ Unix.
Mục đích của bài viết là giúp bạn học được cách sử dụng lệnh grep để tìm kiếm tệp cho văn bản từ thiết bị đầu cuối thông qua các ví dụ.
Điều kiện tiên quyết
- Hệ thống giống Linux hoặc UNIX
- Truy cập vào terminal/dòng lệnh
- Người dùng có quyền truy cập các tệp và thư mục mong muốn
Lưu ý: Một dòng trên thiết bị đầu cuối không giống với một dòng trong văn bản bình thường. Một dòng ở đây là một chuỗi các ký tự cho đến khi ngắt dòng. Đầu ra của lệnh grep có thể chứa toàn bộ văn bản nếu không có tùy chọn tìm kiếm để chỉnh nội dung đầu ra mong muốn.
Lệnh grep là gì?
Grep được viết tắt từ Global Regular Expression Print.
Grep là một công cụ dòng lệnh Linux/Unix được sử dụng để tìm kiếm một chuỗi ký tự trong một tệp được chỉ định. Mẫu tìm kiếm văn bản được gọi là biểu thức chính quy. Khi tìm thấy một kết quả phù hợp, nó sẽ in dòng kèm theo kết quả. Lệnh grep rất tiện dụng khi tìm kiếm qua các tệp nhật ký lớn.
Cách sử dụng lệnh grep
Dạng cơ bản của lệnh grep được cấu tạo từ ba phần bao gồm: Phần đầu tiên bắt đầu với grep, tiếp theo là mẫu mà bạn đang tìm kiếm, cuối cùng là tên tệp mà grep tìm kiếm.
Cú pháp lệnh grep có cấu trúc đơn giản như sau:
Nếu bạn muốn kết quả trả ra linh hoạt theo nhu cầu của mình, bạn có thể kết hợp với các tùy chọn khác nhau cũng như có thể chứa nhiều biến thể mẫu và tên tệp.
Sau đây là các ví dụ về lệnh grep được sử dụng phổ biến nhất hiện nay:
Lưu ý: Lệnh grep phân biệt chữ hoa chữ thường. Đảm bảo sử dụng đúng trường hợp khi chạy các lệnh grep.
1. Để tìm kiếm tệp
Để in bất kỳ dòng nào từ tệp có chứa một mẫu ký tự cụ thể, trong trường hợp này là từ Phoenix trong tệp sample2, lệnh chạy có cấu trúc như sau:
{{EJS0}}Grep sẽ hiển thị các dòng có từ trùng khớp với từ Phoenix. Khi thực hiện lệnh này, bạn không nhận được kết quả phù hợp chính xác. Thay vào đó, thiết bị đầu cuối in các dòng có các từ chứa chuỗi ký tự bạn đã nhập. Đây là một ví dụ:
Mẹo: Nếu mẫu tìm kiếm của bạn bao gồm các ký tự không phải là chữ và số, hãy sử dụng dấu ngoặc kép. Có thể bao gồm các khoảng trống hoặc bất kỳ ký hiệu nào.
2. Để tìm kiếm nhiều tệp
Để tìm kiếm nhiều tệp bằng lệnh grep, hãy điền tên các tệp bạn muốn tìm kiếm, giữ các tệp được phân cách bằng khoảng trắng.
Ví dụ sau đây là sử dụng lệnh grep để tìm từ Phoenix trong ba tệp sample, sample2 và sample3, nó được thể hiện ở ví dụ sau:
{{EJS1}}Thiết bị đầu cuối in ra tên của các tệp chứa các dòng phù hợp và các dòng thực bao gồm chuỗi ký tự bắt buộc.
Bạn có thể nối với lượng tệp không giới hạn. Thiết bị đầu cuối in một dòng mới với tên tệp cho mọi kết quả khớp mà nó tìm thấy trong các tệp được liệt kê.
Mẹo: Tham khảo bài viết về Lệnh Xargs để tìm hiểu cách sử dụng xargs với grep giúp tìm kiếm một chuỗi trong danh sách tệp.
3. Tìm kiếm tất cả các tệp trong thư mục
Để tìm kiếm tất cả các tệp trong thư mục hiện tại, hãy sử dụng dấu “*” thay vì tên tệp ở cuối lệnh grep.
Trong ví dụ này, nix được sử dụng để làm tiêu chí tìm kiếm:
{{EJS2}}Đầu ra hiển thị tên của tệp bằng nix và trả về toàn bộ dòng.
4. Để chỉ tìm toàn bộ các từ
Grep chỉ cho phép bạn tìm và in kết quả cho toàn bộ từ. Để tìm kiếm từ Phoenix ở tất cả các tệp trong thư mục hiện tại, hãy thêm -w vào lệnh grep.
{{EJS3}}Tùy chọn này chỉ in các dòng có kết quả khớp toàn bộ từ và tên của các tệp mà nó tìm thấy trong thư mục:
Khi bỏ -w, grep sẽ hiển thị mẫu tìm kiếm ngay cả khi một từ khác chứa các chuỗi con mà bạn cần tìm kiếm.
Nếu bạn muốn tìm kiếm nhiều chuỗi và mẫu từ, hãy xem bài viết về cách chuyển đổi từ để tìm nhiều chuỗi, mẫu hoặc từ.
5. Để bỏ qua trường hợp trong tìm kiếm Grep
Vì các lệnh grep phân biệt chữ hoa chữ thường, một trong những toán tử hữu ích nhất cho tìm kiếm grep là -i. Thay vì chỉ in kết quả bằng chữ thường, thiết bị đầu cuối hiển thị cả kết quả viết hoa và viết thường. Đầu ra bao gồm các dòng có các mục nhập chữ hoa và chữ thường hỗn hợp.
Ví dụ về lệnh này:
{{EJS4}}Nếu chúng ta sử dụng toán tử -i để tìm kiếm các tệp trong thư mục hiện tại cho Phoenix, kết quả sẽ giống như sau:
6. Để tìm kiếm thư mục con
Để bao gồm tất cả các thư mục con trong kết quả tìm kiếm được trả về, hãy sử dụng toán tử -r vào lệnh grep.
{{EJS5}}Lệnh này in các kết quả phù hợp cho tất cả các tệp trong thư mục hiện tại, thư mục con và đường dẫn chính xác với tên tệp. Trong ví dụ trên, có bổ sung thêm toán tử -w để hiển thị toàn bộ các từ, tuy nhiên kết quả đầu ra vẫn tương tự nhau:
7. Tìm kiếm grep ngược
Bạn có thể sử dụng grep để in tất cả các dòng không khớp với một mẫu ký tự cụ thể. Để tìm kiếm với kết quả ngược như thế này, hãy thêm -v vào lệnh grep.
Để loại bỏ tất cả các dòng có chứa Phoenix, hãy sử dụng cú pháp sau:
{{EJS6}}Thiết bị đầu cuối in ra tất cả các dòng không chứa từ Phoenix được sử dụng làm tiêu chí tìm kiếm. Sử dụng thêm -i để loại bỏ cả chữ hoa chữ thường, loại trừ hoàn toàn từ được sử dụng cho tìm kiếm này:
8. Để hiển thị các dòng khớp chính xác với chuỗi tìm kiếm
Mặc định lệnh grep sẽ in toàn bộ các dòng chứa kết quả tìm kiếm trùng khớp trong một tệp. Để chỉ in những dòng hoàn toàn khớp với chuỗi tìm kiếm, hãy thêm tùy chọn -x.
{{EJS7}}Đầu ra sẽ chỉ hiển thị các dòng trùng khớp hoàn toàn. Nếu có bất kỳ từ hoặc ký tự nào khác trong cùng một dòng, grep sẽ không đưa nó vào kết quả tìm kiếm. Khi có khoảng trắng hay ký hiệu trong mẫu tìm kiếm, đừng quên sử dụng thêm dấu “”
Dưới đây là so sánh các kết quả không có và với toán tử -x trong lệnh grep:
9. Liệt kê tên của các tệp phù hợp
Đôi khi, bạn chỉ cần xem tên của các tệp chứa một từ hoặc chuỗi ký tự và loại trừ các dòng không liên quan khác. Để chỉ in các tên tệp phù hợp với tìm kiếm của bạn, hãy sử dụng toán tử -l:
{{EJS8}}Kết quả hiển thị tên tệp chính xác có chứa Phoenix trong thư mục hiện tại nhưng không in ra các dòng có từ tương ứng:
Hãy sử dụng toán tử tìm kiếm đệ quy -r, nó giúp bao gồm tất cả các thư mục con trong tìm kiếm của bạn.
10. Đếm số lượng kết quả
Grep có thể hiển thị tất cả các tên tệp và số dòng mà nó tìm thấy kết quả phù hợp với từ của bạn.
Sử dụng toán tử -c để đếm số lượng kết quả phù hợp:
{{EJS9}}11. Để hiển thị số dòng trước hoặc sau chuỗi tìm kiếm
Đôi khi bạn cần thêm nội dung trong kết quả tìm kiếm để so sánh xem nội dung nào phù hợp nhất.
Các toán tử sau giúp bạn thêm các dòng mong muốn vào trước, sau hoặc cả hai trong kết quả tìm kiếm:
- Sử dụng -A: và một số dòng để hiển thị sau một kết quả đầu ra: grep -A 3 mẫu Phoenix – lệnh này in ra ba dòng ở sau kết quả đầu ra.
- Sử dụng -B: và một số dòng để hiển thị trước một kết quả đầu ra: grep -B 2 mẫu Phoenix – lệnh này in ra hai dòng trước kết quả đầu ra.
- Sử dụng -C: và một số dòng để hiển thị trước và sau kết qủa đầu ra: grep -C 2 Phoenix sample – lệnh này in ra hai dòng trước và sau kết quả đầu ra.
12. Để hiển thị số dòng với đối sánh grep
Khi grep in kết quả với nhiều kết quả trùng khớp, sẽ rất tiện lợi khi xem số dòng bằng cách dùng toán tử -n vào bất kỳ lệnh grep nào để hiển thị số dòng.
Chúng tôi sẽ tìm kiếm Phoenix trong thư mục hiện tại, hiển thị hai dòng trước và sau các kết quả đầu ra cùng với số dòng của chúng.
{{EJS10}}13. Giới hạn đầu ra grep ở một số dòng cố định
Một số tệp riêng lẻ sẽ chứa rất nhiều kết quả trùng khớp với yêu cầu của mẫu tìm kiếm. Do đó, để có thể giới hạn số dòng trong đầu ra của grep, bạn có thể thêm tùy chọn -m vào lệnh grep
{{EJS11}}Trong trường hợp này, thiết bị đầu cuối chỉ in hai kết quả khớp đầu tiên mà nó tìm thấy trong tệp mẫu.
Nếu bạn không chỉ định một tệp cụ thể (như ví dụ là tệp sample) và tìm kiếm tất cả các tệp trong một thư mục, đầu ra sẽ in hai kết quả đầu tiên từ mọi tệp cùng với tên tệp chứa các kết quả phù hợp.
Tổng kết về grep
Qua bài viết, bạn đã có thể biết cách sử dụng lệnh grep trong Linux/Unix. Lệnh grep rất linh hoạt với nhiều toán tử và tùy chọn hữu ích. Giúp bạn có thể dễ dàng tìm kiếm những thông tin cần thiết theo yêu cầu mà bạn mong muốn.
Nếu bạn còn muốn tìm hiểu thêm những câu lệnh khác hoặc những mẹo sử dụng Linux, hãy để lại bình luận ở bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.
P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.
2022-05-24Mua Hosting tại BKHOST
Khuyến mãi giảm giá cực sâu, chỉ từ 5k/tháng. Đăng ký ngay hôm nay:
host website
- Kiến thức server
- WordPress Performance – Cách tối ưu hiệu suất WordPress
- VPS US là gì? Nên lựa chọn VPS US hay VPS VN
- Vị trí đặt máy chủ ảnh hưởng thế nào đến tốc độ website?
- So Sánh OpenLiteSpeed và Nginx – Hai Web Server Phổ Biến
- Private Cloud là gì? Khái niệm và lợi ích của Private Cloud
- So sánh VPS và Cloud Server – Tìm hiểu và lựa chọn giải pháp phù hợp
- Lựa Chọn Máy Chủ Cho Doanh Nghiệp Nhỏ: Bước Quan Trọng Đối Với Sự Phát Triển Của Bạn
- MySQL Workbench là gì? Cách cài đặt & thiết lập cực đơn giản
- MySQL là gì? Tại sao nó quan trọng trong lĩnh vực công nghệ?
- Điện toán đám mây là gì? Tìm hiểu chi tiết về công nghệ lưu trữ đám mây.
Bạn cần đăng nhập để đăng bình luận.
Tin tức BlogTên miền đang khuyến mại
TIN ĐƯỢC ĐỌC NHIỀU NHẤT
Bao nhiêu MB bằng 1GB? Công thức tính như thế nào?
08/01/2022 - 09:13 19257Làm thế nào để trở thành một Hacker chuyên nghiệp?
08/01/2022 - 08:10 15462Cổng Port là gì? Có chức năng và phân loại như thế nào?
10/01/2022 - 07:01 14691Err_ssl_version_or_cipher_mismatch là gì? Cách sửa ra sao?
20/03/2022 - 12:30 140225 cách tìm địa chỉ IP máy tính của người khác chính xác nhất
26/05/2022 - 16:24 13789 × × × × Trượt lên đầu trang Góp ý Miễn phí cước gọi Chat ngay qua Zalo Chat ngay qua Messenger Góp ý cho chúng tôi Góp ý Bạn đã hài lòng với trải nghiệm trên Bkhost.vn?- Rất không hài lòng
- Không hài lòng
- Bình thường
- Hài lòng
- Rất hài lòng
Từ khóa » Cách Dùng Lệnh Grep
-
Hướng Dẫn Cách Dùng Lệnh Grep Trong Linux để Tìm Kiếm - Vietnix
-
Tìm Hiểu Về Lệnh GREP Trong Linux - Viblo
-
10 Ví Dụ Về Lệnh Grep Trong Linux
-
Grep Command Trong Linux - Cách Sử Dụng Lệnh Grep - Hostinger
-
Lệnh Grep Toàn Tập Image Lệnh Grep Toàn Tập
-
Những điều Tâm đắc Nhất Khi Sử Dụng Lệnh GREP
-
Top 10 Cách Dùng Lệnh Grep Trong Linux Hay Nhất - Freetuts
-
10 Ví Dụ Về Sử Dụng Lệnh Grep Trên Linux - Knowledge Base
-
Hướng Dẫn Sử Dụng Câu Lệnh Grep Trong Linux - HOSTVN Blog
-
Hướng Dẫn Sử Dụng Lệnh Grep Trong Linux - HOSTVN
-
Cách Sử Dụng Lệnh Grep Và Các Ví Dụ Tree Linux
-
Cách Sử Dụng Lệnh Grep Trong Linux - VinaSupport
-
Hướng Dẫn Sử Dụng Lệnh Grep Trong Linux Qua 10 Ví Dụ - Blog KDATA
-
Hướng Dẫn Thao Tác Với Lệnh Grep - VinaHost