[Hướng dẫn] – Dùng lệnh Grep trong Linux

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 dụng khi tìm kiếm các file log lớn.

Sử dụng lệnh grep trong Linux

Lệnh grep bao gồm ba phần ở dạng căn bản nhất của nó. Phần trước nhất sẽ khởi đầu bằng grep, sau này là mẫu bạn tìm kiếm. Sau chuỗi là tên file mà grep sẽ phải tìm kiếm.

Cú pháp lệnh grep trong Linux dễ dàng nhất sẽ như sau:

Lệnh sẽ có thể chứa nhiều tùy chọn, biến thể mẫu & tên file. Phối hợp nhiều tùy chọn nếu cần để có được kết quả bạn mong muốn. Dưới đây là các lệnh grep trong Linux thông dụng nhất & đi kèm với các chẳng hạn.

Dùng lệnh grep trong Linux để tìm kiếm một file

Để in bất kỳ dòng nào từ file có chứa một mẫu ký tự rõ ràng, trong trường hợp đó là Phoenix trong file sample2, hãy chạy lệnh:

grep phoenix sample2

Grep sẽ hiển thị mọi dòng có kết quả phù phù hợp với từ Phoenix. Khi thực hiện lệnh này, bạn không thu được kết quả thích hợp đúng đắn. Thay vào đó, thiết bị đầu cuối in các dòng có các từ chứa chuỗi ký tự bạn đã nhập. Đây là một chẳng hạn:

lenh-grep-trong-linux

Cảnh báo: Nếu mẫu tìm kiếm của các bạn bao gồm các ký tự không phải chữ & số, hãy sử dụng dấu ngoặc kép. Điều này bao gồm các khoảng không hoặc bất kỳ ký hiệu nào.

Dùng lệnh grep trong Linux để tìm kiếm nhiều file

Để tìm kiếm nhiều file bằng lệnh grep, hãy chèn các tên file bạn mong muốn tìm kiếm, được ngăn cách bằng ký tự khoảng trắng.

Trong trường hợp này, lệnh rep để khớp với từ Phoenix trong ba file sample, sample 2 & sample 3 trông giống như chẳng hạn sau:

grep phoenix sample sample2 sample3

Thiết bị đầu cuối in ra tên của mọi file chứa các dòng thích hợp & các dòng phải bao gồm chuỗi ký tự bắt buộc.

Xem Thêm  How to Use PDF.js in 2 Easy Steps: Embed PDF in your Website - pdf.js

lenh-grep-trong-linux

Bạn có thể connect bao nhiều tên file nếu bạn cần. Thiết bị đầu cuối sẽ in ra một dòng với tên file cho mọi kết quả khớp mà nó tìm ra trong các file được liệt kê.

Dùng lệnh grep trong Linux để tìm kiếm toàn bộ các file trong thư mục

Để tìm kiếm toàn bộ các file trong thư mục lúc này, hãy sử dụng dấu hoa thị thay vì tên file ở cuối lệnh grep.

Trong chẳng hạn này, chúng tôi sử dụng nix làm tiêu chuẩn tim kiếm:

grep nix *

Output hiển thị tên của file bằng nix & trả về toàn thể các dòng.

Dùng lệnh grep trong Linux để tìm toàn thể các từ

Lệnh grep chỉ cho phép bạn tìm & in kết quả cho toàn thể từ. Để tìm kiếm từ Phoenix trong toàn bộ các file trong thư mục lúc này, hãy thêm -w vào lệnh grep.

grep -w phoenix *

Tùy chọn này chỉ in các dòng có kết quả khớp toàn thể từ & tên của các file mà nó tìm ra:

lenh-grep-trong-linux

Khi bỏ qua -w, grep sẽ hiển thị mẫu tìm kiếm ngay cả khi nó là một chuỗi con của một từ khác.

Nếu bạn mong muốn tìm kiếm nhiều chuỗi & các mẫu từ, hãy xem nội dung của chúng tôi về cách grep cho nhiều chuỗi, mẫu hoặc từ.

Dùng lệnh grep trong Linux để tìm kiếm thư mục con

Để bao gồm toàn bộ các thư mục con trong một tìm kiếm, hẫy thêm -r vào lệnh grep.

grep -r phoenix *

lenh-grep-trong-linux

Lệnh này in các kết quả thích hợp cho toàn bộ các file trong thư mục lúc này, thư mục con & đường dẫn đúng đắn với tên file. Trong chẳng hạn dưới đây, chúng tôi đã thêm -w để hiển thị toàn thể các từ, nhưng output nó sẽ giống nhau.

Xem Thêm  Tiêu đề trang web bằng html và css với mã nguồn và thiết kế đáp ứng - tiêu đề trong html css

Tìm kiếm grep ngược

Bạn có thể sử dụng grep để in toàn bộ các dòng không khớp với một mẫu ký tự rõ ràng. Để tìm kiếm grep ngược, hãy thêm -v vào lệnh grep.

Để ngoại trừ toàn bộ các dòng có chứa phoenix, hãy nhập:

grep -v phoenix sample

Thiết bị đầu cuối in ra toàn bộ các dòng không chứa từ được sử dụng làm tiêu chuẩn tìm kiếm. Sử dụng -i để bỏ qua chữ hoa chữ thường để ngoại trừ hoàn toàn từ được sử dụng cho tìm kiếm này:

lenh-grep-trong-linux

Dùng lệnh grep trong Linux để hiển thị các dòng khớp đúng đắn với chuỗi tìm kiếm

Lệnh grep in toàn thể dòng khi nó tìm ra kết quả trùng khớp với một file. Để chỉ in những dòng hoàn toàn khớp với chuỗi tìm kiếm, hãy thêm tùy chọn -x.

grep -x “phoenix number3” *

Output chỉ hiển thị các dòng khớp đúng đắn. Nếu có bất kỳ từ hoặc ký tự nào khác trong cùng một dòng, grep sẽ không mang nó vào kết quả tìm kiếm. Đừng quên sử dụng dấu ngoặc kép bất kể lúc nào có khoảng trắng hoặc ký hiệu trong mẫu tìm kiếm.

Dưới đây là so sánh các kết quả không có & với -x trong lệnh của chúng tôi:

lenh-grep-trong-linux

Dùng lệnh grep trong Linux để liệt kê tên của các file thích hợp

Thỉnh thoảng, bạn chỉ cần xem tên của các file chứa một từ hoặc chuỗi ký tự & loại từ các dòng thực tiễn. Để chỉ in các tên file phù phù hợp với tìm kiếm của các bạn, hãy sử dụng -l:

grep -l phoenix *

lenh-grep-trong-linux

Kết quả hiển thị tên tệp đúng đắn có chứa Phoenix trong thư mục lúc này nhưng không in ra các dòng có từ tương ứng:

Xem Thêm  JavaScript - Phương thức Array lastIndexOf () - tìm javascript chỉ mục cuối cùng

Xin nói lại, hãy sử dụng tìm kiếm đệ quy -r để bao gồm toàn bộ các thư mục con trong tím kiếm của các bạn.

Dùng lệnh grep trong Linux để hiển thị số dòng trước hoặc sau chuỗi tím kiếm

Thỉnh thoảng bạn cần thêm bài viết trong kết quả tìm kiếm để quyết định bài viết nào phù thống nhất.

  • Sử dụng -? & một số dòng để hiển thị nếu thích hợp: lệnh grep – ? sẽ in ra ba dòng sau chuỗi tìm kiếm.
  • Sử dụng -Β & một số dòng để hiển thị nếu thích hợp: lệnh grep – Β sẽ in ra hai dòng này trước chuỗi tìm kiếm.
  • Sử dụng -₵ & một số dòng để hiển thị nếu thích hợp: lệnh grep – ₵ sẽ in ra hai dòng trước & sau trước chuỗi tìm kiếm.

Dùng lệnh grep trong Linux để hạn chế đầu ra grep ở một số dòng cố định

Các file riêng rẽ, ví dụ như file log, có thể chứa nhiều kết quả thích hợp cho các mẫu tìm kiếm grep. Hạn chế số dòng trong output của lệnh grep bằng cách thêm tùy chọn -m vào một số lệnh.

grep -m2 Phoenix sample

Trong trường hợp này, thiết bị đầu cuối in ra hai kết quả khớp trước nhất mà nó tìm ra trong file sample.

Nếu bạn không những định một file & tìm kiếm toàn bộ các file trong một thư mục, output sẽ in ra hai kết quả trước nhất từ mọi file cùng với tên file chứa các kết quả thích hợp.

Tham khảo thêm: Các cấu lệnh trong Linux

5

/

5

(

1

bầu chọn

)

Viết một bình luận