Lệnh grep được sử dụng để tìm kiếm các chuỗi (strings) trong tệp văn bản. Dưới đây là mười ví dụ về grep mà bạn có thể thấy hữu ích.
Lệnh grep cung cấp quyền truy cập vào tiện ích grep, một công cụ xử lý tệp được sử dụng để tìm các mẫu (pattern) trong tệp văn bản. Nó có thể hữu ích trong nhiều trường hợp và chắc chắn là một trong những lệnh Linux được sử dụng nhiều nhất. Bài viết này cung cấp một số lệnh grep Linux đơn giản nhưng hữu ích được sử dụng trong thế giới thực.
Tệp ví dụ
Chúng tôi đã tạo một tập tham khảo để giúp người đọc hiểu về grep một cách hiệu quả hơn. Bạn có thể tạo một bản sao của tệp này bằng cách đưa ra lệnh shell sau trong terminal của bạn.
cat <<END >> test-file
This is a simple text file that contains
multiple strings as well as some telephone numbers
(555) 555-1234 (567) 666-2345
and email plus web addresses
john@doe.com
https://google.com
ftp://mywebserver.com
END1. Tìm văn bản trong tệp
Để tìm kiếm mẫu văn bản trong tệp, chỉ cần chạy grep theo sau là tên mẫu. Ngoài ra, hãy chỉ định tên của tệp chứa văn bản.
grep "email" test-fileLệnh này sẽ hiển thị dòng trong test-file của chúng ta có chứa từ email. Bạn cũng có thể tìm kiếm cùng một từ trong nhiều tệp bằng grep.
grep "example" /usr/share/dict/american-english /usr/share/dict/british-englishLệnh trên hiển thị tất cả các lần xuất hiện của từ example trong các tệp từ điển american-english (Mỹ-Anh) and british-english (Anh-Anh).

2. Tìm các từ khớp chính xác
Lệnh grep của Linux được minh họa trong ví dụ trước cũng liệt kê các dòng có khớp một phần. Sử dụng lệnh dưới đây nếu bạn chỉ cần các lần xuất hiện chính xác của một từ.
grep -w "string" test-fileTùy chọn -w hoặc –word-regexp của grep giới hạn đầu ra chỉ hiển thị các kết quả phù hợp chính xác. Grep bao gồm một số cờ (flag) có thể được sử dụng với lệnh mặc định.
3. Không phân biệt viết hoa/viết thường
Theo mặc định, grep tìm kiếm các mẫu có phân biệt chữ hoa chữ thường. Tuy nhiên, bạn có thể muốn tắt tính năng này:
grep -i "this" test-fileSử dụng tùy chọn -i hoặc –ignore-case để tắt phân biệt chữ hoa và chữ thường.

4. Đếm số lượng các mẫu
Cờ -c là viết tắt của count (đếm). Nó hiển thị số kết quả phù hợp đã được tìm thấy cho một mẫu cụ thể. Quản trị viên có thể sử dụng cờ này để truy xuất thông tin cụ thể về hệ thống.
Bạn có thể kết hợp lệnh ps với grep để đếm các tiến trình thuộc về người dùng hiện tại.
ps -ef | grep -c $USER
Lệnh sau đây hiển thị số lượng tệp MP3 có trong một thư mục.
ls ~/Music | grep -c .mp35. Số dòng hiển thị chứa các kết quả phù hợp
Bạn có thể muốn tìm số dòng chứa một kết quả khớp nhất định. Sử dụng tùy chọn (option) -n hoặc –line-number của grep để làm được điều này.
cat /etc/passwd | grep -n rubaiatTùy chọn này đặc biệt hữu ích để gỡ lỗi mã nguồn (source code) và khắc phục sự cố tệp nhật ký (log file). Để hiển thị số lượng tất cả các dòng trong ~/.vimrc được sử dụng để định cấu hình trình soạn thảo văn bản Vim :
grep -n "set" ~/.vimrc6. Tìm tên tệp bằng tiện ích mở rộng
Để có danh sách tất cả các tệp MP3 có trong thư mục ~/Music :
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 tệp cụ thể. Lệnh sau liệt kê tất cả các tệp php có trong thư mục làm việc hiện tại.
ls | grep ".php"7. Tìm mẫu trong tệp nén
Lệnh grep của Linux cũng có thể tìm thấy các mẫu bên trong các tệp nén. Tuy nhiên, bạn sẽ cần sử dụng lệnh zgrep để thực hiện việc này. Trước tiên, hãy tạo một kho lưu trữ nén của tệp test-file bằng cách nhập:
gzip test-fileBây giờ, bạn có thể tìm kiếm văn bản hoặc các mẫu khác bên trong kho lưu trữ kết quả.
zgrep email test-file.gz>>> Đọc ngay: Cách bắt đầu sử dụng Linux
8. Tìm địa chỉ email
Quản trị viên cũng có thể liệt kê các địa chỉ email từ các tệp văn bản bằng cách sử dụng lệnh grep. 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,\}' test-fileBạn có thể tìm thấy các biểu thức chính quy để thực hiện các công việc tương tự hoặc bạn có thể tự tạo chúng nếu bạn biết cách chúng hoạt động.

9. 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 khỏi tệp 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\}' test-fileLệnh nói trên lọc ra các số điện thoại Mỹ gồm mười chữ số.
10. Tìm URL từ tệp nguồn
Chúng ta 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 tệp văn bản. Lệnh dưới đây sẽ trả về tất cả các URL có trong test-file.
grep -E "^(http|https|ftp):[\/]{2}([a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,4})" test-file
Chúng ta lại đang 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 để không phải thêm nó.
egrep "^(http|https|ftp):[\/]{2}([a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,4})" test-fileThành thạo lệnh Linux Grep
FUNiX đã trình bày một số ví dụ hữu ích về cách lệnh grep của Linux được dùng để giải quyết các vấn đề trong thế giới thực. Mặc dù những ví dụ này minh họa sức mạnh của grep trong việc xử lý văn bản, nhưng bạn sẽ cần phải nắm vững các biểu thức chính quy nếu bạn muốn làm việc hiệu quả với grep.
TƯ VẤN: Click Here hoặc Hotline/Zalo 090.29.12.888
=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty
