Giới thiệu về lệnh grep
Lệnh grep thường được sử dụng để tìm kiếm chuỗi văn bản, hoặc các dòng có các chuỗi trong các file văn bẳn mà match với 1 chuỗi đầu vào. Grep Linux Command được xem 1 trong những lệnh hữu ích và được sử dụng phổ biến trên hệ thống Linux/Unix
Cú pháp lệnh grep
Một số ví dụ sử dụng lệnh grep
Tìm kiếm một chuỗi văn bản
Tìm kiếm dòng có chưa chuỗi “admin” trong file /etc/passwd
$ grep admin /etc/passwd
Hiển thị số dòng (Line Number) trong kết quả
Sử dụng tham số -n
$ grep -n admin /etc/passwd
Chỉ hiển thị kết quả đầu tiên
Sử dụng head -1
$ grep admin /etc/passwd | head -1
Hiển thị kết quả cuối cùng
Sử dụng tail -1
$ grep admin /etc/passwd | tail -1
Tìm kiếm chuỗi văn bản trong 1 thư mục
Sử dụng tham số -r
$ grep -r admin /etc/
Ẩn nội dung không match với giá trị cần tìm
$ cat a.txt test hello..[113a6d9e-7b06-42c6-a52b-7a4e4d2e216c]... this is te [113a6d9e-7b06-42c6-a52b-7a4e4d2e216c]. this is hello $ grep -oP '(?<=\[)[^\]]*' a.txt 113a6d9e-7b06-42c6-a52b-7a4e4d2e216c 113a6d9e-7b06-42c6-a52b-7a4e4d2e216c
Tìm kiếm chỉ 1 từ
Trường hợp bạn tìm kiếm chuỗi “admin” thì nó sẽ match kết quả với “admin1”, “admin234”, … Vậy để tìm chính xác với từ “admin” thì sử dụng tham số -w
$ grep -w admin <file_name>
Lấy số dòng match với giá trị cần tìm
Ví dụ chỉ ra số dòng match với giá trị “admin” trong file /etc/passwd sử dụng tham số -c
$ grep -c admin /etc/passwd
Nguồn: vinasupport.com