Về Grep Command
Grep là từ viết tắt của Global Regular Expression Print. Lệnh grep trong Linux được sử dụng để tìm kiếm một chuỗi ký tự trong một file được chỉ định. Lệnh grep trong Linux sẽ rất tiện lợi khi tìm kiếm các file log lớn.
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ách sử dụng Grep Command
Đầu tiên bạn cần kết nối vào VPS bằng SSH. ANTOANDULIEU đã có bài hướng dẫn dùng PuTTy SSH các bạn có thể đọc tại đây
Nếu bạn chưa có máy chạy Linux OS, bạn có thể lựa chọn máy do ANTOANDULIEU cung cấp tại đây.
Nếu bạn đang chạy Linux trên máy tính chỉ cần mở terminal ra.
Cấu trúc grep command sẽ để tìm một file như sau:
grep [options] parttern [FILE]
grep – chỉ định lệnh grep
[options] – tùy chọn của lệnh
pattern – truy vấn cần tìm
[FILE] – file thực hiện tìm kiếm
Bạn có thể xem tài liệu hướng dẫn dùng lệnh và các tùy chọnk há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
Một số ví dụ grep hữu dụng
Tìm từ trong file text
Tìm từ trong file text, chỉ cần gõ lệnh sau:
grep query file
query – từ bạn cần tìm
file – file cần tìm
Trong trường hợp của chúng tôi, chúng tôi tìm từ inter trong một file gọi là folder
grep inter folder
Tìm từ mà bỏ qua các chữ viết hoa
Để làm vậy, bạn cần thêm option -i.
grep -i query file
Đếm số lượng từ khóa cần tìm
Với lệnh grep, bạn có thể đếm một từ xuất hiện bao nhiêu lần trong file text. Chỉ cần thêm option -c.
grep -c query file
Tìm nhiều từ khóa khác nhau
Bạn đã thấy khá nhiều ví dụ về tìm một từ. Vậy lệnh tìm nhiều từ khác nhau sẽ như sau:
grep query1 file | grep query2 file
Lệnh này rất đơn giản. Đầu tiên, chúng ta tìm Query1 and then we pass through the pipe to a second grep command for the second word – Query2.
Tìm một từ trong nhiều file
Bạn cũng có thể tìm trong nhiều file một lúc trong chỉ một lệnh:
grep -l word_to_search ./*
Vậy với grep command, bạn có thể làm việc dễ dàng hơn nhiều với các file văn bản. Vì vậy grep được xem là công cụ linh hoạt với nhiều ứng dụng khác nhau
Tìm tên file bằng tiện ích mở rộng
Để có danh sách tất cả các file MP3 trong thư mục ~/Music:
grep ls ~/Music/ | grep ".mp3"
Bạn có thể thay thế .mp3 bằng bất kỳ phần mở rộng nào khác để định vị các file cụ thể. Lệnh sau liệt kê tất cả các file php có trong thư mục hiện hành.
grep ls | grep ".php"
Tìm số điện thoại bằng Grep
Bạn có thể sử dụng biểu thức chính quy grep để lọc số điện thoại từ file văn bản. Lưu ý rằng bạn phải điều chỉnh mẫu để phù hợp với loại số điện thoại bạn cần.
grep '\(([0-9]\{3\})\|[0-9]\{3\}\)[ -]\?[0-9]\{3\}[ -]\?[0-9]\{4\}' query file
Tìm địa chỉ email
Bạn cũng có thể liệt kê các địa chỉ email từ những file văn bản bằng lệnh grep Linux. Ví dụ sau thực hiện điều này bằng cách tìm kiếm một mẫu biểu thức chính quy (regular expression).
grep '^[a-zA-Z0-9]\+@[a-zA-Z0-9]\+\.[a-z]\{2,\}' query file
Tìm URL từ file nguồn
Bạn có thể tận dụng sức mạnh của grep để liệt kê các URL được tìm thấy trong file văn bản.
grep -E "^(http|https|ftp):[\/]{2}([a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,4})" query file
Ví dụ sẽ lại sử dụng tùy chọn -E cho các biểu thức chính quy mở rộng. Bạn cũng có thể sử dụng lệnh egrep để tránh thêm điều này.
egrep "^(http|https|ftp):[\/]{2}([a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,4})" query file
ANTOANDULIEU Là nhà cung cấp dịch vụ máy chủ ảo VPS, nếu bạn cần một máy tính chạy hệ điều hành Linux để phục vụ cho học tập, công việc, nghiên cứu của mình bạn có thể chọn lựa máy chủ ảo để tiết kiệm chi phí.
Liên hệ với chúng tôi để biết thêm thông tin chi tiết về dịch vụ
Website: https://antoandulieu.com
Fanpage:https://www.facebook.com/interdata.com.vn
Email: [email protected]
Hotline: 1900 63 68 22
ANTOANDULIEU – Nhà cung cấp giải pháp và tư vấn dịch vụ VPS, Cloud Sever hàng đầu Việt Nam