Bạn Tìm Gì Hôm Nay ...?
Tất cả đều có chỉ trong 1 nốt nhạc !
Nếu cần hỗ trợ chi tiết gọi 1900 9477
Câu lệnh grep trong linux thường được sử dụng để tìm kiếm văn bản hoặc tìm kiếm tệp file có chứa nội dung khớp với các chuỗi hoặc từ mà bạn muốn tìm. Mặc định grep chỉ hiển thị các dòng khớp với mục tiêu mà bạn tìm kiếm. Trong bài viết này mình sẽ hướng dẫn các bạn cách dùng cậu lệnh grep căn bản này nhé.
GREP (Global regular expression print) là câu lệnh tiêu chuẩn để tìm kiếm các dòng nội dung có chứa một chuỗi hoặc từ khóa trong file trên môi trường Linux.Grep command là một lệnh đắc lực nhất trong các máy hệ Unix. Nó có khả năng tìm kiếm chính xác thông tin bạn cần trong file text. Bạn có thể tìm từ hoặc tìm theo mẫu bằng lệnh grep và các thông tin liên quan sẽ được in ra. Ban đầu, nó là một lệnh và một công cụ nhỏ, tuy nhiên, sysadmin vốn cần xử lý nhiều dịch vụ thông qua file cấu hình khác nhau đã sử dụng nó để truy vấn và tìm chính xác các bản ghi họ cần bằng lệnh nay nên nó là lệnh gần như không thể thay thế. Hệ điều hành Linux thường không có giao diện người dùng vì lý do an toàn. Trong trường hợp này, việc biết cách dùng Linux terminal là rất quan trọng để có thể quản lý được máy tính. Đó là lý do những lệnh như grep command tỏ ra vô cùng hiệu quả.
Câu lệnh grep trong Linux là một thành phần quan trọng không thể thiếu với những người đang sử dụng hệ điều hành này. Vì vậy nếu nó chưa được cài đặt trên hệ thống máy chủ của bạn, bạn có thể dễ dàng cài đặt gói ứng dụng này thông qua (apt-get trên Debian / Ubuntu và yum trên RHEL / CentOS / Fedora). Để cài đặt grep lên hệ thống của bạn, vui lòng sử dụng lệnh sau:
Debian/Ubuntu: # sudo apt-get install grep
RHEL/CentOS/Fedora: # sudo yum install grep
Cấu trúc của grep sẽ như sau: grep [options] pattern [FILE]
Bạn có thể xem tài liệu hướng dẫn dùng lệnh và các tùy chọn khác nhau bằng cách thực thi dòng này: grep –help Như bạn thấy, lệnh này có thể làm được nhiều việc. Những tùy chọn quan trọng nhất của nó là: -i – tìm kiếm không quan trọng hoa thường. Nếu bạn muốn tìm từ “car” bạn có thể thấy kết quả của cả từ “CAR” -c – nó sẽ hiện số dòng khớp với mẫu tìm kiếm -r – tìm theo kiểu đệ quy trong thư mục hiện hành -n – tìm dòng và tìm thông tin khớp với số dòng -v – với tùy chọn này, chúng ta hiển thị dòng không khớp với mẫu cần tìm
Để tiện thực hiện bài viết này, mình đã dùng VPS của P.A Việt Nam vì đây nhà nhà cung cấp VPS lớn và uy tín nhất mình biết. Công nghệ ảo hóa VPS tại P.A Việt Nam có thể chủ động reinstall OS theo ý mình và ngoài ra cũng hỗ trợ nhiều OS khác nhau.
Các bạn có thể tham khảo bài viết : Hướng dẫn Reinstall OS cho Cloud VPS trên hệ thống ảo hóa KVM
Hoặc tham khảo bảng giá VPS của P.A Việt Nam tại các link dưới đây:
Cloud Server
Cloud Server Pro
Máy Chủ Riêng
Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/
Mình sẽ sử dụng OS CentOS 7 trong bài này và bắt đầu hướng dẫn các bạn.
Đây là lệnh cơ bản nhất và cũng thường được sử dụng nhất khi ta muốn tìm kiếm một chuỗi trong một file bất kì.
# grep "kb pa" kbpavietnam.txt
Trong ví dụ này ta tìm kiếm chuỗi “kb pa” ở trong file kppavietnam.txt
Kết quả sẽ hiển thị ngay trên màn hình terminal theo dòng nào có chứa chuỗi “kb pa” ở trong file. Và dòng này sẽ được highlight.
Trong một số trường hợp chúng ta muốn kiểm tra trong file liệu có chuỗi mà chúng ta cần tìm hay không , mà không phân biệt hoa thường thì chúng ta sử dụng thêm options -i.
# grep -i "kb pa"
Trong ví dụ này thì chuỗi “KB PA” ở trong file cũng sẽ được tìm thấy. Vì nó không phân biệt hoa thường nữa.
Ví dụ như chúng ta muốn tìm kiếm chuỗi “kb pa” nhưng ta ko nhớ rõ tên của file đó, mà ta chỉ nó file đó có đuôi là .txt. Vậy ta sẽ tìm kiếm tất cả file bằng cách sau.
# grep "kb pa" *.txt
kí tự * ở đây có nghĩa là bất kì file nào có đuôi là .txt sẽ đều được tìm kiếm.
Ví dụ file kbpavietnam.txt nãy giờ chúng ta sử dụng, trong đó có 4 lần xuất hiện từ “kb pa”
Bây giờ chúng ta muốn đếm số lần xuất hiện của chuỗi “kb pa” có trong file kbpavietnam.txt. Ta thực hiện như sau.
# cat kbpavietnam.txt | grep -c "kb pa"
Kết quả sẽ trả về cho chúng ta là 4 trên màn hình terminal.
Nếu bạn muốn tìm kiếm chuỗi trong một thư mục hiện tại , và nó có rất nhiều thư mục con ở trong đó thì cách tốt nhất để tìm kiếm không bị thiếu thư mục nào là chúng ta sử dụng options -r.
# grep -r "kb pa"
Chúng ta có thể sử dụng grep để tìm kiếm tất cả những dòng không chứa chuỗi mà chúng ta muốn tìm kiếm.
grep -v "kb pa" kbpavietnam.txt
Kết quả sẽ trả về cho chúng ta những dòng không chứa chuỗi “kb pa” trong file kbpavietnam.txt
Để tìm kiếm chính xác chữ mình muốn tìm trong file thì chúng ta sử dụng options -w có trong lệnh grep. Sự khác nhau khi chúng ta sử dụng -w và không sử dụng -w đó là, nếu không sử dụng -w thì lệnh grep sẽ tìm kiếm tất cả những dòng có chứa chuỗi mà chúng ta tìm kiếm.
# grep -w "kbpavietnam" kbpavietnam.txt
Kết quả sẽ hiển thị ra dòng có chứa chính xác chuỗi ra màn hình terminal .
Đôi khi chúng ta sẽ muốn biết kết quả của chuỗi mà chúng ta tìm thấy nằm ở dòng thứ mấy trong file. Để giải quyết vấn đề này chúng ta sử dụng lệnh grep với options -n.
# grep -n "kbpavietnam" kbpavietnam.txt
Ví dụ như chúng ta đang ở trong một có rất nhiều file , mà bây giờ chúng ta muốn tìm kiếm liệu file nào có chứa chuỗi “kb pa” ?? Thi chúng ta sử dụng lệnh grep với options -l sẽ giúp chúng ta liệt kê ra các file có chứa chuỗi “kb pa”.
# grep -l "kb pa" *
Trong một số trường hợp output của lệnh grep mà chúng ta sử có quá nhiều , thì chúng ta muốn giới hạn số dòng mình muốn nhìn thấy thì thực hiện như nào? Chúng ta sẽ sử dụng options -m có trong lệnh grep.
# grep -m2 "kb pa" kbpavietnam.txt
2 có nghĩa là số dòng mà bạn muốn nhìn thấy
Tổng kết
Như vậy chỉ với vài thao tác đơn giản, chúng ta đã có thể hiểu thêm về lệnh grep trên server rồi. Chúc các bạn thành công, các bạn có thể xem tham khảo thêm các bài viết liên quan đến server tại đây: https://kb.pavietnam.vn/category/vps-dedicated-colocation
HƠN 20 NĂM KINH NGHIỆM
P.A Việt Nam tiên phong trong thị trường Internet & Web.
Là nhà đăng ký tên miền lớn nhất Việt Nam.
Chuyên nghiệp trong lĩnh vực Tên miền, Lưu trữ Website.
Email, Máy Chủ, Thiết kế Web.
P.A Việt Nam cung cấp đa dạng các cấu hình Máy Chủ Ảo và Máy Chủ Riêng
Cloud Server
Cloud Server Pro
Máy Chủ Riêng
Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/