Cách sử dụng Grep Command trong Linux

Hiểu lệnh grep với các ví dụ thực tế để dễ dàng lọc và hiển thị nội dung tệp

GREPlà viết tắt của 'Global Regular Expression Print'. Đây là một tiện ích dòng lệnh hữu ích được cung cấp bởi Linux, để tìm kiếm dòng văn bản phù hợp với mẫu do người dùng cung cấp.

greplấy đầu vào từ người dùng dưới dạng chuỗi hoặc từ mà người dùng muốn tìm kiếm trong một tệp cụ thể. Sau đó, lệnh sẽ kiểm tra tệp được người dùng chỉ định cho mẫu này và sau đó trả về các dòng phù hợp với mẫu được cung cấp.

Nó thực hiện một công việc xuất sắc bằng cách lọc nội dung của một tệp, do đó làm cho nhiệm vụ của chúng tôi dễ dàng hơn khi tìm kiếm nội dung cụ thể trên một hoặc nhiều tệp đồng thời.

Trong bài viết này, chúng ta hãy xem xét hoạt động của greplệnh với một số ví dụ thực tế một cách chi tiết.

Các tùy chọn có sẵn với greplệnh

Đây là một số tùy chọn cơ bản mà bạn sẽ sử dụng thường xuyên với greplệnh.

Lựa chọn Sự miêu tả
-i Đối với tìm kiếm không phân biệt chữ hoa chữ thường
-r Để tìm kiếm đệ quy tất cả các tệp trong thư mục được chỉ định và các thư mục con của nó
-c Để hiển thị tổng số lần một chuỗi xuất hiện
-v Để hiển thị các dòng không khớp
-w Lọc cho từ cụ thể đó được sử dụng riêng

Sử dụng greplệnh

greplệnh thường được sử dụng với |tiện ích pipe ( ). Nó có thể được thực hiện với shell pipe khi bạn muốn sử dụng nó với một số lệnh Linux khác. Mặc dù, grepcũng có thể được sử dụng riêng lẻ mà không cần |tiện ích pipe ( ).

Hãy để chúng tôi xem một số cú pháp cơ bản của greplệnh có và không có tiện ích ống dẫn.

Trước tiên, hãy để tôi cho bạn xem tệp văn bản mẫu mà tôi sẽ sử dụng để minh họa greplệnh.

INDIA IS A BEAUTIFUL COUNTRY OF PEACE LOVING PEOPLE.
india stands on three pillars of legislature, executive and judiciary.
India Is a Beautiful Country Of Peace Loving People.
India cares for the people as it's resource
cartesian coordinates
importance of all th cartesian coordinates.
Following are two empty lines.



use of a bullock cart is a common sight in the village for the agrarian chores.

This is the end of the sample file.

grepđược sử dụng với tiện ích pipe (|)

greplệnh có thể được thực hiện cùng với các lệnh Linux khác bằng cách sử dụng các đường ống trình bao. Giống như, sử dụng catlệnh để hiển thị nội dung của tệp nhưng đồng thời chuyển đầu ra bằng greplệnh để chỉ hiển thị nội dung mà bạn muốn xem. Điều này sẽ rõ ràng hơn khi chúng ta xem qua ví dụ.

Cú pháp :

[command] | grep [string]

Ví dụ :

cat sample.txt | grep legislature

Ở đây, tôi đã sử dụng catlệnh để hiển thị một số dòng từ tệp 'sample.txt'. Chỉ những dòng đó được hiển thị có chứa từ 'cơ quan lập pháp' trong đó và bỏ qua các dòng còn lại.

Đầu ra :

[email protected]:~/workspace$ cat sample.txt | grep legislature
india stands on three pillars of legislature, executive and judiciary.
[email protected]:~/workspace$

grepđược sử dụng mà không có tiện ích pipe (|)

grepthậm chí có thể được sử dụng trực tiếp như một lệnh riêng lẻ mà không cần sử dụng | tiện ích pipe ( ).

Cú pháp :

grep [string_to_be_searched] [filename]

Ví dụ :

grep India sample.txt

Đầu ra :

India Is a Beautiful Country Of Peace Loving People.
India cares for the people as it's resource

Do đó, tôi đã sử dụng greplệnh trực tiếp để lọc các dòng có chứa chuỗi 'India' khỏi tệp văn bản 'sample.txt'.

Tìm kiếm không phân biệt chữ hoa chữ thường bằng greplệnh

Linux rất thận trọng về phân biệt chữ hoa chữ thường khi chúng ta kích hoạt các lệnh trên thiết bị đầu cuối. Điều này đòi hỏi người dùng phải cẩn thận về trường hợp chuỗi được đưa vào lệnh.

Hãy để chúng tôi thấy điều này thông qua một ví dụ.

grep peace sample.txt

Trong trường hợp này, chúng tôi sẽ không nhận được đầu ra vì không có từ nào là 'hòa bình' trong tệp mẫu. Chúng ta có từ 'Hòa bình' với chữ 'P' viết hoa. Từ giống nhau nhưng khi chúng ta sử dụng greplệnh mà không có bất kỳ tùy chọn nào, nó sẽ tìm kiếm kết quả khớp chính xác trong tệp, bỏ qua bất kỳ thay đổi nào trong chữ cái.

Để tránh sự mơ hồ này, bạn có thể chỉ cần sử dụng -itùy chọn theo nghĩa đen cho greplệnh "quên trường hợp tôi đã đặt chuỗi và chỉ cần tìm kiếm tất cả các mẫu phù hợp trong tệp."

Cú pháp:

grep -i [string] [filename]

Ví dụ :

grep -i peace sample.txt

Đầu ra :

INDIA IS A BEAUTIFUL COUNTRY OF PEACE LOVING PEOPLE.
India Is a Beautiful Country Of Peace Loving People.

Tất cả các dòng phù hợp được hiển thị bất kể trường hợp của chuỗi khớp.

Tìm kiếm đệ quy bằng greplệnh

Các -rtùy chọn sẽ tìm kiếm tất cả các file trong một thư mục và tất cả của nó thư mục con mà phù hợp với mô hình chuỗi cung cấp bởi người sử dụng trong lệnh.

Cú pháp :

grep -i -r [string] [file_path]

Ví dụ :

grep -i -r tomcat /home/gaurav/workspace

Chuỗi ở đây là 'tomcat' và nó sẽ được tìm kiếm trong không gian làm việc của thư mục. Tất cả các thư mục con và tệp trong thư mục 'không gian làm việc' cũng sẽ được quét để khớp với mẫu chuỗi được cung cấp.

Đầu ra :

./context_log.policy:// catalina.policy - Security Policy Permissions for Tomcat 7
./context_log.policy:// Note: If tomcat-juli.jar is in ${catalina.base} and not in ${catalina.home},
./context_log.policy://  grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..}
./context_log.policy:grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
./context_log.policy:    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket.server";
./context.xml:    
./catalina.properties:# - Tomcat Bootstrap JARs
./catalina.properties:# - Tomcat API JARs
./catalina.properties:# - Tomcat JARs
./catalina.properties:# - Common non-Tomcat JARs
./catalina.properties:org.apache.catalina.startup.TldConfig.jarsToSkip=tomcat7-websocket.jar
./catalina.properties:tomcat.util.buf.StringCache.byte.enabled=true
./catalina.properties:#tomcat.util.buf.StringCache.char.enabled=true
./catalina.properties:#tomcat.util.buf.StringCache.trainThreshold=500000
./catalina.properties:#tomcat.util.buf.StringCache.cacheSize=5000
./server.xml:              pathname="conf/tomcat-users.xml" />
./server.xml:    
./tomcat-users.xml:  
./tomcat-users.xml:
./web.xml:  
./web.xml:  

LƯU Ý : Trong khi sử dụng -rtùy chọn với greplệnh, chúng tôi cần cung cấp đường dẫn của tệp chứ không phải tên tệp

Chỉ tìm kiếm toàn bộ từ bằng greplệnh

Nhiều trường hợp là bạn sẽ tìm kiếm một từ nhưng cuối cùng bạn sẽ điền vào thiết bị đầu cuối của mình các dòng phù hợp có chứa từ phù hợp của bạn nhưng không phải là một từ riêng lẻ. Bạn có thể thấy các dòng chứa một số từ có phần phụ là chuỗi mà bạn đã nhập.

Bạn bối rối với điều này? Đừng lo lắng, sẽ dễ hiểu hơn nhiều khi bạn lấy được ví dụ.

Ví dụ :

Ở đây, tôi muốn tìm kiếm một từ 'giỏ hàng' riêng lẻ và hiển thị tất cả các dòng phù hợp với từ này trong tệp 'sample.txt'.

grep -i cart sample.txt

Đầu ra :

Cartesian coordinates
importance of all the Cartesian coordinates.
use of a bullock cart is a common sight in the village for the agrarian chores
The cart went missing as the boy left it loose.

Trong đầu ra, bạn có thể quan sát thấy từ 'Descartes' cũng chứa từ 'giỏ hàng' và do đó, các dòng có chứa từ 'Descartes' cũng được hiển thị mặc dù chúng ta không muốn chúng được hiển thị.

Bạn có thể sử dụng -wtùy chọn với greplệnh để giải quyết sự mơ hồ này.

Cú pháp :

grep -i -w [string] [filename]

Ví dụ :

grep -i -w cart sample.txt

Đầu ra :

use of a bullock cart is a common sight in the village for the agrarian chores.
The cart went missing as the boy left it loose.

Bây giờ, khi bạn đã sử dụng wtùy chọn - với grepbạn sẽ chỉ nhận được các dòng trong đó từ 'giỏ hàng' được sử dụng tổng thể.

Đảo ngược tìm kiếm bằng greplệnh

greplệnh cũng có thể được sử dụng theo kiểu ngược lại. Chúng ta có thể sử dụng greplệnh đối lập bằng cách ẩn các dòng phù hợp và chỉ hiển thị các dòng không tìm thấy khớp. Bạn có thể làm điều này bằng cách sử dụng -vtùy chọn với greplệnh.

Cú pháp :

grep -i -v [string] [filename]

Ví dụ :

grep -i -v resource sample.txt

Đầu ra :

INDIA IS A BEAUTIFUL COUNTRY OF PEACE LOVING PEOPLE.
india stands on three pillars of legislature, executive and judiciary.
India Is a Beautiful Country Of Peace Loving People.
cartesian coordinates
importance of all th cartesian coordinates.




use of a bullock cart is a common sight in the village for the agrarian chores.
This is the end of the sample file.

Trong đầu ra, tất cả các dòng khác được hiển thị ngoài dòng có chứa từ 'tài nguyên'.

Đếm số lần xuất hiện của chuỗi phù hợp

Đầu ra của greplệnh thường rất dài nếu dữ liệu trong tệp lớn. Càng nhiều trận đấu, kết quả đầu ra của greplệnh càng dài. Linux cung cấp cho bạn một tùy chọn để bạn có thể hiển thị số lần xuất hiện của trận đấu.

Cú pháp :

grep -i -c [string] [filename]

Ví dụ :

grep -i -c india sample.txt

Đầu ra :

[email protected]:~/workspace$ grep -i -c india sample.txt
4
[email protected]:~/workspace$

Ở đây, đầu ra là một số là số lần xuất hiện của từ 'India' trong tệp sample.txt.

LƯU Ý : Tôi đã sử dụng -itùy chọn trong mọi ví dụ để an toàn với vấn đề phân biệt chữ hoa chữ thường. Trong trường hợp bạn chắc chắn về trường hợp của từ bạn đang tìm kiếm, thì bạn có thể bỏ qua -i tùy chọn một cách an toàn .

Phần kết luận

Chúng ta đã tìm hiểu các cách sử dụng cơ bản của greplệnh trên hệ thống Linux trong hướng dẫn này. Chúng tôi cũng đã học cách hiển thị các nội dung khác nhau phù hợp nhất với yêu cầu của chúng tôi và không làm chật chội thiết bị đầu cuối với vô số dòng. greplệnh chắc chắn sẽ tiết kiệm thời gian nếu được sử dụng để quét các tập dữ liệu lớn.

Tags: #grep

Cách sao chép và dán trên Chromebook

Cách sao chép và dán trên Chromebook

Điều đầu tiên bạn có thể thắc mắc khi chuyển sang Chromebook là làm thế nào để thực hiện những thứ cơ bản — loại nội dung bạn có trong tay trong hệ điều hành trước đó của mình. Sao chép và dán là một trong những chức năng cơ bản mà bạn phải sử dụng vào lúc này hay lúc khác.

Làm thế nào để làm bài kiểm tra đánh máy trên Linux với tt

Làm thế nào để làm bài kiểm tra đánh máy trên Linux với tt

Trong thời đại công nghệ hiện đại, đánh máy đã trở thành một trong những hoạt động phổ biến nhất cho rất nhiều ngành nghề. Học cách gõ nhanh hơn với độ chính xác có thể giúp bạn hoàn thành nhiều việc hơn trong cùng một khoảng thời gian.

Wi-Fi không hoạt động trên Ubuntu? Đây là cách khắc phục

Wi-Fi không hoạt động trên Ubuntu? Đây là cách khắc phục

Ubuntu phổ biến vì tính mạnh mẽ và tương đối ít lỗi. Nhưng chắc chắn không phải là không có vấn đề. Một trong những vấn đề như vậy là với trình điều khiển Wi-Fi của nó. Bạn có thể bật nguồn hệ thống của mình chỉ khi thấy rằng Wi-Fi của bạn không hoạt động.

Cách tạo và quét mã QR trên Chromebook

Cách tạo và quét mã QR trên Chromebook

Mã phản hồi nhanh, gọi tắt là mã QR, là mã vạch nâng cao chứa nhiều thông tin hơn mã vạch truyền thống. Các mã này là hai chiều, cho phép bạn quét chúng theo chiều dọc hoặc chiều ngang.

Cách cài đặt và gỡ bỏ các gói trong Arch Linux

Cách cài đặt và gỡ bỏ các gói trong Arch Linux

Bạn muốn cài đặt các gói trên Arch Linux nhưng không biết làm thế nào? Rất nhiều người gặp phải vấn đề này khi lần đầu tiên họ chuyển từ các bản phân phối dựa trên Debian sang Arch. Tuy nhiên, bạn có thể dễ dàng quản lý các gói trên hệ thống dựa trên Arch của mình bằng cách sử dụng các trình quản lý gói.

Cách cài đặt Spotify trên Linux

Cách cài đặt Spotify trên Linux

Spotify là một trong những dịch vụ phát trực tuyến nhạc lớn nhất hiện có. Nó có các ứng dụng khách dành cho cả thiết bị di động (Android và iOS) và máy tính để bàn (Mac và Windows).

9 lệnh cơ bản giúp bạn bắt đầu với Linux

9 lệnh cơ bản giúp bạn bắt đầu với Linux

Hướng dẫn cách sử dụng Linux thường mong đợi bạn thực hiện một số thao tác nhất định trong thiết bị đầu cuối, điều này thoạt đầu có vẻ đáng sợ. Nhưng không băn khoăn; Bảng lừa đảo lệnh Linux này sẽ trình bày quá trình mở một thiết bị đầu cuối và đưa ra một vài lệnh hữu ích.

Trình chỉnh sửa video miễn phí tốt nhất cho Ubuntu năm 2020

Trình chỉnh sửa video miễn phí tốt nhất cho Ubuntu năm 2020

Bỏ qua tất cả những điều sơ sài, đây là danh sách các trình chỉnh sửa video miễn phí tốt nhất cho Ubuntu mà bạn có thể sử dụng để tạo ra những video tuyệt đẹp.

15 chủ đề hay nhất cho Ubuntu 20.04 vào năm 2020

15 chủ đề hay nhất cho Ubuntu 20.04 vào năm 2020

Rất nhiều chủ đề cập nhật mới đã sẵn sàng được cài đặt trên máy tính để bàn GNOME mới của Ubuntu 20.04. Đây là danh sách các chủ đề ubuntu tốt nhất vào năm 2020

Cách di chuyển tệp Linux bằng lệnh Mv

Cách di chuyển tệp Linux bằng lệnh Mv

Mặc dù bạn có thể đã biết cách di chuyển tệp trong Linux bằng trình duyệt tệp GUI, nhưng bạn có thể tự hỏi liệu có lệnh di chuyển trong thiết bị đầu cuối cho phép bạn nhanh chóng di chuyển tệp đến các thư mục khác nhau hay không. Lệnh mv là lệnh bạn muốn và nó dễ sử dụng với cú pháp đơn giản và một số cờ an toàn tùy chọn.