Ngày đăng: 22 tháng 10 năm 2024
Khi làm việc với hệ điều hành Linux, lệnh GREP là một trong những công cụ hữu ích và mạnh mẽ nhất giúp người dùng tìm kiếm và lọc thông tin trong các file văn bản. Trong bài viết dưới đây, CloudFly sẽ giới thiệu về lệnh GREP là gì, và các cách sử dụng phổ biến nhất. Hãy cùng theo dõi chi tiết để tiết kiệm thời gian và nâng cao hiệu quả công việc của mình.
Lệnh GREP, viết tắt của Global Regular Expression Print, là một công cụ mạnh mẽ dùng để tìm kiếm chuỗi ký tự hoặc biểu thức chính quy trong tệp tin văn bản. Nó giúp hiển thị các dòng chứa chuỗi tìm kiếm, cho phép bạn nhanh chóng lọc và tìm thông tin cần thiết.
Lệnh GREP là một trong những lệnh quan trọng và phổ biến trong Linux. Với GREP, bạn có thể dễ dàng tìm kiếm chuỗi trong một tệp hoặc trong tất cả các tệp và thư mục con. Điều này cực kỳ hữu ích khi làm việc với khối lượng dữ liệu lớn và cần tìm kiếm nhanh chóng những thông tin cụ thể.
Các tùy chọn hữu ích của lệnh grep Linux:
Tùy chọn |
Mô Tả |
-i |
Hiển thị các dòng có tiêu chí phù hợp trong khi bỏ qua chữ hoa/thường. |
-l |
Chỉ hiển thị tên file |
-n |
Hiển thị các dòng có tiêu chí và số dòng phù hợp. |
-c |
Chỉ hiển thị số dòng khớp với mẫu |
-v |
Hiển thị các dòng không khớp với tiêu chí (tìm kiếm ngược) |
-w |
Hiển thị toàn bộ các từ khớp. |
-A n |
Hiển thị n dòng sau khi khớp. |
-B n |
Hiển thị n dòng trước các kết quả khớp. |
-C n |
Hiển thị n dòng trước và sau các kết quả khớp |
Để bỏ qua phân biệt chữ hoa và chữ thường khi tìm kiếm, bạn có thể sử dụng tùy chọn -i trong lệnh grep. Dưới đây là cách thực hiện với file file2.txt chỉ trong 2 bước đơn giản:
Bước 1: Đầu tiên, bạn mở Terminal.
Bước 2: Tiếp theo, bạn nhập lệnh dưới đây:
grep -i Linux file2.txt
Bước 3: Cuối cùng, bạn nhấn Enter.
Kết quả: Tất cả các dòng chứa từ "Linux" sẽ được hiển thị, bất kể chữ hoa hay chữ thường.
Bạn có thể sử dụng tùy chọn -n để hiển thị số dòng chứa chuỗi kết quả. Ví dụ, nếu bạn muốn tìm từ "Linux" trong file file1.txt, bạn có thể làm theo các bước sau:
Bước 1: Đầu tiên, bạn mở Terminal.
Bước 2: Tiếp theo, bạn nhập lệnh dưới đây:
grep -n Linux file1.txt
Bước 3: Cuối cùng, bạn nhấn Enter.
Kết quả: Tất cả các dòng chứa từ "Linux" sẽ được hiển thị kèm theo số dòng tương ứng.
Để tìm kiếm chuỗi trong nhiều file bằng lệnh grep, bạn chỉ cần liệt kê các tên file, cách nhau bằng dấu cách. Ví dụ, để tìm từ "Linux" trong hai file file1.txt và file2.txt, bạn làm theo các bước sau:
Bước 1: Đầu tiên, bạn mở Terminal.
Bước 2: Tiếp theo, bạn nhập lệnh dưới đây:
grep Linux file1.txt file2.txt
Bước 3: Cuối cùng, bạn nhấn Enter.
Kết quả: Tất cả các dòng chứa từ "Linux" trong cả hai file sẽ được hiển thị.
Để tìm kiếm chính xác toàn bộ từ khóa trong các file, bạn có thể sử dụng tùy chọn -w. Ví dụ, để tìm toàn bộ từ "Linux" trong thư mục home, bạn thực hiện theo các bước sau:
Bước 1: Đầu tiên, bạn mở Terminal.
Bước 2: Tiếp theo, bạn nhập lệnh dưới đây:
grep -w Linux *
Bước 3: Cuối cùng, bạn nhấn Enter.
Kết quả: Chỉ các dòng chứa toàn bộ từ "Linux" sẽ được hiển thị, và những từ như "LinuxSimply" sẽ không được hiển thị vì "Linux" chỉ là một chuỗi con trong từ đó.
Để tìm kiếm một từ hoặc ký tự trong các thư mục con, bạn có thể sử dụng tùy chọn -r. Ví dụ, để tìm từ "Linux" trong thư mục home, bạn thực hiện theo các bước sau:
Bước 1: Đầu tiên, bạn mở Terminal.
Bước 2: Tiếp theo, bạn nhập lệnh dưới đây:
grep -r Linux *
Bước 3: Cuối cùng, bạn nhấn Enter.
Kết quả: Tất cả các dòng chứa từ "Linux" trong các thư mục con sẽ được hiển thị, kèm theo tên đường dẫn để bạn dễ dàng nhận biết.
Để tìm kiếm trong một file mà không hiển thị những dòng chứa từ hoặc ký tự bạn đã chỉ định, bạn có thể sử dụng tùy chọn -v. Ví dụ, để lọc bỏ từ "Linux" trong file có tên file1.txt, bạn làm theo các bước sau:
Bước 1: Đầu tiên, bạn mở Terminal.
Bước 2: Tiếp theo, bạn nhập lệnh dưới đây:
grep -v Linux file1.txt
Bước 3: Cuối cùng, bạn nhấn Enter.
Kết quả: Tất cả các dòng sẽ được hiển thị, ngoại trừ những dòng chứa từ "Linux".
Với lệnh grep, bạn có thể dễ dàng tìm kiếm một từ hoặc ký tự cụ thể trong một file. Ví dụ, để tìm từ "Linux" trong file file1.txt, bạn làm theo các bước sau:
Bước 1: Đầu tiên, bạn mở Terminal.
Bước 2: Tiếp theo, bạn nhập lệnh dưới đây:
grep Linux file1.txt
Bước 3: Cuối cùng, bạn nhấn Enter.
Kết quả: Tất cả các dòng trong file1.txt sẽ được hiển thị, và mỗi dòng sẽ chứa từ "Linux".
Để tìm kiếm tất cả các file trong một thư mục, bạn có thể sử dụng lệnh grep. Ví dụ, nếu bạn muốn tìm từ "Linux" trong tất cả các file trong thư mục Desktop, bạn có thể làm theo các bước sau:
Bước 1: Đầu tiên, bạn mở Terminal.
Bước 2: Tiếp theo, bạn nhập lệnh dưới đây:
grep Linux *
Bước 3: Cuối cùng, bạn nhấn Enter.
Kết quả: Tất cả các dòng chứa từ "Linux" sẽ được hiển thị, và chúng sẽ nằm trong các file của thư mục Desktop.
Bạn có thể tìm kiếm một từ hoặc ký tự cụ thể trong một file và hiển thị các dòng trước, sau, hoặc cả hai bằng lệnh grep. Ví dụ, để tìm kiếm từ "Linux" trong file file1.txt, bạn thực hiện như sau.
Bước 1: Đầu tiên, bạn mở Terminal.
Bước 2: Tiếp theo, bạn nhập lệnh dưới đây và nhấn Enter để hiển thị 2 dòng trước từ "Linux":
grep -B2 Linux file1.txt
Bước 3: Sau đó, bạn nhập lệnh dưới đây và nhấn Enter để hiển thị 2 dòng sau từ "Linux":
grep -A2 Linux file1.txt
Bước 4: Cuối cùng, bạn có thể sử dụng lệnh dưới đây để hiển thị 2 dòng trước và 2 dòng sau từ "Linux":
grep -C2 Linux file1.txt
Để tìm kiếm nhiều từ trong một file, bạn có thể sử dụng tùy chọn -e. Ví dụ, để tìm kiếm hai từ "Linux" và "love" trong file file2.txt, bạn thực hiện như sau.
Bước 1: Đầu tiên, bạn mở Terminal.
Bước 2: Tiếp theo, bạn nhập lệnh dưới đây:
grep -e Linux -e love file2.txt
Bước 3: Cuối cùng, bạn nhấn Enter.
Kết quả: Tất cả các dòng sẽ được hiển thị và chứa cả hai từ "Linux" và "love" phù hợp trong file.
>>> Xem thêm: Tổng Hợp 20 Lệnh Netstat Để Quản Lý Mạng Linux
Hy vọng bài viết trên trên đã giúp bạn hiểu rõ hơn về Lệnh GREP là gì và các cách sử dụng lệnh GREP. Nếu còn thắc mắc hay muốn đăng ký máy chủ ảo Cloud Server tại CloudFly, hãy liên hệ ngay với chúng tôi qua thông tin bên dưới để được tư vấn và hỗ trợ chi tiết. Đội ngũ kỹ thuật có chuyên môn cao luôn sẵn sàng 24/7 để giải quyết mọi vấn đề của bạn.
THÔNG TIN LIÊN HỆ: