Cách sử dụng lệnh grep trên Debian 10
Grep là viết tắt của Global Regular Expression Print. Đây là một lệnh hữu ích và được sử dụng rộng rãi bởi các kỹ sư hệ thống Linux, trong khi tìm kiếm một chuỗi hoặc các mẫu với những file thông thường và trong hệ thống.
Trong bài viết này, Quantrimang.com sẽ hướng dẫn bạn cách sử dụng lệnh grep (có kèm theo rất nhiều ví dụ).
Lưu ý: Bài viết đã thử nghiệm tất cả các lệnh và ví dụ trên máy chạy Debian 10.
Bạn đã biết cách dùng lệnh grep chưa?
- Điều kiện tiên quyết
- Cài đặt lệnh grep trên Debian 10
- Sử dụng lệnh grep
- Tìm kiếm một file hoặc thư mục cụ thể trong hệ thống
- Tìm kiếm một từ hoàn chỉnh với grep
- Tìm kiếm một phần văn bản cụ thể trong một file
- Thực hiện tìm kiếm trong nhiều file
- Tìm kiếm hai từ khác nhau bằng một lệnh grep duy nhất
- Đánh số dòng phù hợp với văn bản
- Đảo ngược tìm kiếm
- Đếm các kết quả trùng khớp
- Hiển thị tên file phù hợp với văn bản cụ thể
- Chỉ hiển thị văn bản phù hợp
- Hiển thị các dòng bắt đầu bằng (các) từ cụ thể
- Hiển thị các dòng kết thúc bằng (các) từ cụ thể
Điều kiện tiên quyết
Bạn cần có một máy tính chạy Debian 10 có quyền root.
Cài đặt lệnh grep trên Debian 10
Theo mặc định, grep được cài đặt trên hầu hết hệ thống bao gồm Debian 10. Nếu nó chưa được cài đặt, hãy mở terminal và đưa ra lệnh sau với quyền root.
apt-get install grepKhi bạn được yêu cầu xác nhận, nhấn Y và sau đó nhập từ bàn phím. Đợi quá trình cài đặt kết thúc.
Kiểm tra phiên bản của grep bằng cách chạy lệnh sau trên terminal.
grep --versionLệnh sẽ trả về phiên bản cùng với các chi tiết khác như được hiển thị bên dưới.

Sử dụng lệnh grep
Tìm kiếm một file hoặc thư mục cụ thể trong hệ thống
Khi bạn muốn tìm kiếm hoặc định vị một file cụ thể trong hệ thống của mình, cú pháp của lệnh sẽ như sau.
ls -l <đường dẫn của thư mục muốn tìm kiếm> | grep -i “tên file hoặc thư mục”Cần đặt từ bạn muốn tìm trong dấu ngoặc kép nếu nó chứa khoảng trắng. Giả sử bạn đang tìm kiếm “network daemon”, lệnh sẽ giống như sau.
ls -l /etc/network/ | grep -i “interfaces daemon”Tìm kiếm một từ hoàn chỉnh với grep
Bạn có thể nhận thấy, grep đã trả về tất cả các loại kết quả có từ “network”, ví dụ: networks, networked, networking hoặc abcnetworking, v.v... Nếu bạn muốn giới hạn tìm kiếm của mình để bao gồm từ cụ thể đó, bạn phải sử dụng tùy chọn -w như sau.
ls -l /etc/ | grep -i -w networkTìm kiếm một phần văn bản cụ thể trong một file
Giả sử bạn có một file lớn và bạn muốn tìm kiếm một phần văn bản cụ thể. Cú pháp của lệnh sẽ như sau.
grep – i “văn bản bạn muốn tìm kiếm” “tên file và đường dẫn”Thực hiện tìm kiếm trong nhiều file
Nếu muốn tìm kiếm một văn bản từ một số lượng lớn file và thư mục con trong một thư mục lớn, bạn có thể thực hiện việc này bằng cách sử dụng tùy chọn -r.
grep -i -r "fox"Dưới đây là đầu ra mẫu cho thấy từ “fox” có trong cả hai file test.txt và tree.txt:

Bạn cũng có thể cung cấp một đường dẫn thư mục và nó sẽ tìm kiếm tất cả các file trong thư mục đó và các thư mục con của nó.
Giả sử bạn muốn tìm “interfaces” trong /etc/ và các thư mục con của nó. Lệnh cần thực hiện như sau.
grep -i -r interfaces /etc/Dưới đây là đầu ra mẫu:

Tìm kiếm hai từ khác nhau bằng một lệnh grep duy nhất
Bạn có thể tìm kiếm hai từ khác nhau bằng một lệnh egrep (là một biến thể của grep) như sau. Giả sử bạn muốn tìm kiếm từ fox và lazy trong nhiều file bằng tùy chọn -r. Bạn phải chạy lệnh sau trên terminal.
egrep -w -r "fox|lazy"Dưới đây là đầu ra mẫu:

Đánh số dòng phù hợp với văn bản
Một tùy chọn hữu ích khác là -n đánh số dòng phù hợp với văn bản. Sau đây là ví dụ minh họa cách sử dụng tùy chọn -n.
grep -i -n "fox" test.txtDưới đây là kết quả đầu ra mẫu cho việc đánh số các dòng khớp với từ “fox”.

Đảo ngược tìm kiếm
Điều này trái ngược với những gì ta đã làm ở trên. Nếu bạn muốn trả về một văn bản không bao gồm từ bạn chỉ định, bạn có thể sử dụng tùy chọn -v.
Dưới đây là ví dụ minh họa việc sử dụng tùy chọn -v.
grep -v -i "fox" test.txtDưới đây là đầu ra mẫu:

Tất cả các tùy chọn trên (-n, v.v...) cũng có thể được áp dụng với tùy chọn -v.
Đếm các kết quả trùng khớp
Nếu muốn đếm số lượng kết quả phù hợp với một văn bản cụ thể, bạn có thể sử dụng tùy chọn -c.
Hãy đếm từ “fox” trong test.txt ở bên trong thư mục hiện hành. Chạy lệnh sau trên terminal:
grep -i -c fox test.txtDưới đây là đầu ra mẫu sau khi thực hiện lệnh trên, cho thấy từ “fox” đã xuất hiện 3 lần trong file test.txt.

Hiển thị tên file phù hợp với văn bản cụ thể
Nếu bạn muốn tìm ra các file chứa từ cụ thể của mình, bạn có thể sử dụng tùy chọn -l cùng với -r như sau.
Giả sử tất cả các file được đặt trong thư mục hiện hành và từ cụ thể bạn đang tìm kiếm là “fox”.
grep -i -r -l foxDưới đây là kết quả đầu ra mẫu cho thấy từ “fox” có mặt trong test.txt, cũng như trong thư mục con và file asif.txt:
Hiển thị tên file phù hợp với văn bản cụ thể

Chỉ hiển thị văn bản phù hợp
Theo mặc định, grep hiển thị toàn bộ dòng phù hợp với văn bản hoặc từ bạn muốn. Nếu muốn grep hiển thị các từ phù hợp, bạn có thể sử dụng tùy chọn -o như sau.
grep -i -o fox test.txtDưới đây là đầu ra mẫu.

Hiển thị các dòng bắt đầu bằng (các) từ cụ thể
Nếu muốn truy xuất tất cả các dòng bắt đầu bằng một từ cụ thể, bạn có thể sử dụng toán tử ^ như sau.
Giả sử bạn muốn trả về tất cả các dòng bắt đầu bằng “unix” và file là log.txt nằm trong thư mục hiện hành.
Chạy lệnh sau trên terminal:
grep -i "^unix" log.txtDưới đây là đầu ra mẫu:

Hiển thị các dòng kết thúc bằng (các) từ cụ thể
Nếu muốn trả về tất cả các dòng từ một file kết thúc bằng (các) từ cụ thể, bạn có thể sử dụng toán tử $ như sau.
Giả sử từ này là “linux” và file bạn muốn tìm kiếm là rev.txt nằm trong thư mục hiện hành.
Chạy lệnh sau terminal:
grep -i "linux$" rev.txtDưới đây là đầu ra mẫu:

Bạn nên đọc
-
Tìm hiểu về CachyOS: Bản phân phối Linux nhẹ phù hợp cho chơi game và phần cứng cấp thấp
-
Lý do nhiều người không chuyển đổi dù ai cũng nói Linux tốt hơn Windows
-
Thuộc lòng 5 lệnh này để không còn sợ Linux Terminal nữa!
-
Cách sử dụng lệnh stat trên Linux
-
Cách dùng lệnh htop theo dõi các tiến trình hệ thống theo thời gian thực
-
Cách nhận giải thích về lệnh trong terminal với Kmdr
-
Cách sử dụng lệnh which trong Linux
-
Cách sử dụng theHarvester lập bản đồ dấu vết trực tuyến của bạn chỉ trong vài phút
-
“Chỉ cần sử dụng Linux” không còn là lời khuyên hữu ích nữa
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:
Cũ vẫn chất
-

Code Võ Hồn Đại Lục mới nhất, cập nhật liên tục 23/11/2025
Hôm qua -

Code Dislyte Nhịp điệu huyền bí mới nhất
Hôm qua -

Code Đấu La Bang Bang mới nhất và hướng dẫn nhập code đổi thưởng
Hôm qua 1 -

Code Liên Minh Stickman mới nhất, nhận full vàng, kim cương
Hôm qua -

NASA ‘thay đổi’ ngày sinh của 12 cung hoàng đạo, 86% số người bị đổi chòm sao khác
Hôm qua 100+ -

Code Thiếu Nữ Aline Chạy Đi mới nhất
Hôm qua -

Công thức tính thể tích khối lăng trụ đứng, hình lăng trụ
Hôm qua 1 -

Ký tự khoảng trống FF là gì? Cách tạo tên trống trong Free Fire
Hôm qua 100+ -

Stt chào tháng 5, những câu nói hay về tháng 5 rực rỡ
Hôm qua -

Công thức tính diện tích tam giác: vuông, thường, cân, đều
Hôm qua 19
Học IT
Microsoft Word 2013
Microsoft Word 2007
Microsoft Excel 2019
Microsoft Excel 2016
Microsoft PowerPoint 2019
Google Sheets
Lập trình Scratch
Bootstrap
Hướng dẫn
Ô tô, Xe máy