Tìm kiếm cụm từ linux

Trong bài viết sau chúng ta sẽ xem một số các công cụ dòng lệnh được sử dụng để tìm các chuỗi hoặc mẫu phù hợp trong tệp văn bản. Các công cụ này thường được sử dụng cùng với các biểu thức chính quy, viết tắt là REGEX, là các chuỗi duy nhất để mô tả một mẫu tìm kiếm.

Biểu thức chính quy là các mẫu được sử dụng để tìm một tổ hợp ký tự nhất định trong một chuỗi văn bản. Biểu thức chính quy cung cấp một cách rất linh hoạt để tìm kiếm hoặc nhận dạng các chuỗi văn bản. Mặc dù trong các dòng sau chúng ta sẽ không thấy biểu thức chính quy, chúng ta sẽ sử dụng các mẫu hoặc chuỗi.

Index

  • 1 Tìm kiếm chuỗi hoặc mẫu từ thiết bị đầu cuối
    • 1.1 Lệnh Grep
    • 1.2 Lệnh sed
    • 1.3 ack
    • 1.4 ripgrep
    • 1.5 SilverSearcher

Lệnh Grep

Grep là từ viết tắt của In biểu thức chính quy toàn cầu. Đây là một công cụ dòng lệnh mạnh mẽ, hữu ích khi tìm kiếm một chuỗi hoặc mẫu cụ thể trong tệp. Với grep chúng tôi sẽ có thể sử dụng một loạt các chức năng, chẳng hạn như những chức năng mà một đồng nghiệp đã giải thích cho chúng tôi trong blog này cách đây không lâu.

Cú pháp để sử dụng lệnh grep khá đơn giản:

grep PATRON [RUTA AL ARCHIVO]

Ví dụ: để tìm kiếm chuỗi 'Ubuntu'trong một tệp mà trong ví dụ này, chúng tôi sẽ gọi text.txt, không tính đến sự phân biệt giữa chữ hoa và chữ thường, trong một terminal [Ctrl + Alt + T], chúng ta sẽ chỉ phải thực hiện lệnh:

grep -i Ubuntu texto.txt

Lệnh sed

Khát là viết tắt của Trình chỉnh sửa luồng. Nó là một công cụ hữu ích khác cho thiết bị đầu cuối mà chúng ta có thể thao tác văn bản trong tệp. Sed tìm kiếm, lọc và thay thế các chuỗi trong một tệp nhất định.

Theo mặc định, lệnh sed sẽ in đầu ra trong GIỚI THIỆU [Đầu ra tiêu chuẩn]. Điều này ngụ ý rằng kết quả của việc thực thi được in ra thiết bị đầu cuối thay vì được lưu vào một tệp.

Lệnh Sed có thể được sử dụng như sau:

sed -OPCIONES COMANDO [RUTA AL ARCHIVO]

Ví dụ: để thay thế tất cả các lần xuất hiện của 'Linux'trong một văn bản của'Linux', lệnh sử dụng sẽ như sau:

sed 's/Linux/GnuLinux/g' texto.txt

Nếu những gì chúng tôi đang tìm kiếm là chuyển hướng đầu ra đến một tệp thay vì in nó vào thiết bị đầu cuối, chúng ta sẽ sử dụng dấu hiệu chuyển hướng như sau:

sed 's/Linux/GnuLinux/g' texto.txt > salida.txt

Đầu ra của lệnh được lưu trong tệp output.txt thay vì được in trên màn hình.

Để xem thêm các tùy chọn, bạn có thể tham khảo các trang đàn ông:

man sed

ack

Ack là một công cụ dòng lệnh nhanh được viết bằng Perl. Nó được coi là một sự thay thế thân thiện cho tiện ích grep, điều này cũng tạo ra kết quả theo cách trực quan hấp dẫn.

đến cài đặt ack trong hệ thống của chúng tôi, chúng tôi sẽ phải thực thi trong terminal [Ctrl + Alt + T]:

sudo apt install ack

Lệnh Ack tìm kiếm tệp hoặc thư mục cho các dòng có chứa kết quả phù hợp với tiêu chí tìm kiếm. Sau đó đánh dấu chuỗi tương ứng. Công cụ này có khả năng phân biệt các tệp dựa trên phần mở rộng của chúng.

Cú pháp của lệnh Ack sẽ giống như sau

ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

Ví dụ: để tìm kiếm cụm từ Linux trong một tệp, chúng tôi sẽ phải thực thi:

ack Linux texto.txt

Công cụ tìm kiếm khá thông minh và nếu người dùng không cung cấp bất kỳ tệp hoặc thư mục nào, nó sẽ tìm kiếm thư mục hiện tại và các thư mục con cho mẫu tìm kiếm.

Trong ví dụ sau, không có tệp hoặc thư mục nào được cung cấp. Ack tự động phát hiện tệp có sẵn trong thư mục và tìm kiếm mẫu phù hợp:

ack Linux

ripgrep

ripgrep là một tiện ích đa nền tảng để tìm kiếm các mẫu biểu thức chính quy. Nó nhanh hơn tất cả các công cụ tìm kiếm được đề cập ở trên và nó tìm kiếm các thư mục một cách đệ quy để tìm các mẫu phù hợp. Nó cũng cho phép bạn tìm kiếm các loại tệp cụ thể. Theo mặc định, ripgrep sẽ bỏ qua tệp nhị phân và tệp / thư mục ẩn.

đến cài đặt ripgrep trên hệ thống, tất cả những gì bạn phải làm là chạy lệnh sau trong terminal [Ctrl + Alt + T]:

sudo apt install ripgrep

Cú pháp để sử dụng ripgrep khá đơn giản:

rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

Nếu chúng tôi muốn tìm kiếm chuỗi 'Linux'trong các tệp nằm trong thư mục hiện tại, chúng tôi sẽ chỉ phải thực hiện lệnh:

rg Linux

Để xem thêm các tùy chọn, người dùng có thể sử dụng trang người đàn ông:

man rg

SilverSearcher

đến cài đặt công cụ này, trong Ubuntu, chúng tôi sẽ chỉ phải mở một thiết bị đầu cuối [Ctrl + Alt + T] và viết lệnh:

sudo apt install silversearcher-ag

Silver Searcher là một công cụ tìm kiếm đa nền tảng, mã nguồn mở tương tự như ack nhưng tập trung vào tốc độ. Nó giúp bạn dễ dàng tìm thấy một chuỗi cụ thể trong các tệp trong thời gian ngắn nhất có thể. Cú pháp để sử dụng sẽ là:

ag OPCIONES PATRÓN_DE_BÚSQUEDA /ruta/al/archivo

Ví dụ: để tìm kiếm 'Linux' trong file text.txt, chúng tôi sẽ phải viết trong terminal [Ctrl + Alt + T]:

ag Linux texto.txt

Để xem thêm các tùy chọn, chúng tôi có thể tham khảo trang người đàn ông:

man ag

Đây chỉ là một số công cụ dòng lệnh được sử dụng phổ biến nhất để tìm kiếm, lọc và thao tác văn bản trong Linux.


Nội dung bài viết tuân thủ các nguyên tắc của chúng tôi về đạo đức biên tập. Để báo lỗi, hãy nhấp vào đây.

Bài Viết Liên Quan

Chủ Đề