Tìm kiếm chuỗi hoặc mẫu trong văn bản thuần túy từ thiết bị đầu cuối

về tìm kiếm chuỗi hoặc mẫu

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à ĐĂNG KÝ, 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.

Tìm kiếm chuỗi hoặc mẫu từ thiết bị đầu cuối

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:

văn bản grep -i

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:

Lệnh sed

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.

đầu ra lệnh sed

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

người đàn ông khát

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):

cài đặt ack

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:

lệnh tìm kiếm ack

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:

tìm kiếm ack mà không có tệ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):

cài đặt ripgrep

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:

người đàn ông rg linux

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:

người đàn ông rg

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:

cài đặt silversearcher-ag

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):

tìm kiếm với người bán bạc

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:

người thợ bạc

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.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.