Chuyển tới nội dung chính

Grep - Cheatsheet

Cheatsheet về các khái niệm chính liên quan đến việc sử dụng chương trình dòng lệnh grep.

cửa hàng
roadmaps
cheatsheet
tài liệu phỏng vấn

🔖 Gợi ý từ Admin

📝 Tài liệu phỏng vấn kiến thức lập trình: Xem tại đây!!!

📌 Tìm hiểu về thuật toán: Xem tại đây!!!

📌 Roadmaps - Lộ trình trở thành một lập trình viên: Xem tại đây!!!

⚡️ Cheatsheet các ngôn ngữ lập trình: Xem tại đây!!!

⚡️ Handbook lập trình: Xem tại đây!!!

I. Tổng hợp Grep Cheatsheet

1. Cơ bản

⚡️ Cách sử dụng: Wildcards được chấp nhận trong tên tệp.

# Tìm kiếm chuỗi search_string trong đầu ra chuẩn hoặc luồng văn bản.
$ grep [options] search_string

# Tìm kiếm chuỗi search_string trong tệp cụ thể.
$ grep [options] search_string path/to/file

# In ra các dòng trong myfile.txt chứa chuỗi "mellon".
$ grep 'mellon' myfile.txt

⚡️ Các ví dụ về tuỳ chọn

Tùy chọnVí dụMô tả
-igrep -i ^DA demo.txtQuên đi việc phân biệt chữ hoa chữ thường
-wgrep -w "of" demo.txtChỉ tìm kiếm cho từ đầy đủ
-Agrep -A 3 'Exception' error.logHiển thị 3 dòng sau chuỗi khớp
-Bgrep -B 4 'Exception' error.logHiển thị 4 dòng trước chuỗi khớp
-Cgrep -C 5 'Exception' error.logHiển thị 5 dòng xung quanh chuỗi khớp
-rgrep -r 'quickref.me' /var/log/nginx/Tìm kiếm đệ quy (trong các thư mục con)
-vgrep -v 'warning' /var/log/syslogTrả về tất cả các dòng không khớp với mẫu
-egrep -e '^al' filenameSử dụng regex (các dòng bắt đầu bằng 'al')
-Egrep -E 'ja(s|cks)on' filenameRegex mở rộng (các dòng chứa jason hoặc jackson)
-cgrep -c 'error' /var/log/syslogĐếm số lượng sự khớp
-lgrep -l 'robot' /var/log/*In ra tên của tệp(s) chứa sự khớp
-ogrep -o search_string filenameChỉ hiển thị phần khớp của chuỗi
-ngrep -n "go" demo.txtHiển thị số dòng của các sự khớp

Lưu ý: Trong các ví dụ trên, các mẫu và tệp tin chỉ mang tính minh họa. Bạn cần thay thế chúng bằng nội dung và đường dẫn thực tế khi sử dụng lệnh grep trong môi trường làm việc của mình.

2. Grep regular expressions

⚡️ Wildcards

Ký hiệuÝ nghĩa
.Bất kỳ ký tự nào.
?Tuỳ chọn và chỉ xuất hiện một lần.
*Tuỳ chọn và có thể xuất hiện nhiều lần.
+Bắt buộc và có thể xuất hiện nhiều lần.

⚡️ Định lượng (Quantifiers)

\{n\}Mục trước xuất hiện chính xác n lần.
\{n,\}Mục trước xuất hiện n lần hoặc nhiều hơn.
\{,m\}Mục trước xuất hiện tối đa n lần.
\{n,m\}Mục trước xuất hiện từ n đến m lần.

⚡️ POSIX

Ký hiệuÝ Nghĩa
[:alpha:]Bất kỳ chữ cái nào (viết thường hoặc viết hoa).
[:digit:]Bất kỳ số nào.
[:alnum:]Bất kỳ chữ cái hoặc số nào (viết thường hoặc viết hoa).
[:space:]Bất kỳ ký tự khoảng trắng nào.

Lưu ý: Các ký hiệu POSIX này có thể được sử dụng trong các biểu thức chính quy để tìm kiếm các dạng cụ thể của ký tự trong văn bản.

⚡️ Ký tự (Character)

Biểu thứcÝ Nghĩa
[A-Za-z]Bất kỳ chữ cái nào (viết thường hoặc viết hoa).
[0-9]Bất kỳ số nào.
[0-9A-Za-z]Bất kỳ chữ cái hoặc số nào (viết thường hoặc viết hoa).

Các biểu thức [A-Za-z], [0-9], và [0-9A-Za-z] được sử dụng để đại diện cho các nhóm cụ thể của ký tự trong các biểu thức chính quy.

⚡️ Vị trí (Position)

Biểu thứcÝ Nghĩa
^Đầu dòng.
$Cuối dòng.
^$Dòng trống.
\<Bắt đầu từ một từ.
\>Kết thúc của một từ.

Các biểu thức ^, $, ^$, \<, và \> được sử dụng để xác định vị trí của chuỗi trong các biểu thức chính quy.

II. Tài liệu tham khảo

Chia sẻ: