Cách tìm kiếm tệp nén bằng Linux

Hướng dẫn này sẽ chỉ cho bạn cách tìm kiếm các tệp nén cho một chuỗi văn bản hoặc cho một biểu thức cụ thể.

Làm thế nào để tìm kiếm và lọc kết quả bằng cách sử dụng lệnh Grep

Một trong những lệnh Linux mạnh nhất là grep, viết tắt của "Global Regular Expressions Print".

Bạn có thể sử dụng grep để tìm kiếm các mẫu trong nội dung của một tệp hoặc đầu ra từ một lệnh khác.

Ví dụ, nếu bạn chạy lệnh ps sau, bạn sẽ thấy một danh sách các tiến trình đang chạy trên máy tính của bạn.

ps -ef

Các kết quả sẽ cuộn nhanh đến màn hình và nếu thường có nhiều kết quả. Điều này làm cho việc xem thông tin đặc biệt đau đớn.

Bạn có thể, tất nhiên, sử dụng lệnh nhiều hơn để liệt kê một trang kết quả tại một thời điểm như sau:

ps -ef | hơn

Trong khi đầu ra từ lệnh trên là tốt hơn so với trước đó bạn vẫn phải trang thông qua kết quả để tìm thấy những gì bạn đang tìm kiếm.

Lệnh grep giúp bạn có thể lọc kết quả dựa trên tiêu chí bạn gửi cho nó. Ví dụ để tìm kiếm tất cả các tiến trình với bộ UID thành 'root' chạy lệnh sau:

ps -ef | gốc grep

Lệnh grep cũng hoạt động trên các tệp. Hãy tưởng tượng bạn có tệp chứa danh sách tên sách. Hãy tưởng tượng bạn muốn xem liệu tệp có chứa "Little Red Riding Hood" hay không. Bạn có thể tìm kiếm tệp như sau:

Danh sách sách grep "Little Red Riding Hood"

Lệnh grep rất mạnh và bài viết này sẽ hiển thị hầu hết các công tắc hữu ích có thể được sử dụng với nó.

Làm thế nào để tìm kiếm tập tin nén bằng cách sử dụng lệnh zgrep

Một công cụ ít được biết đến nhưng rất mạnh là zgrep. Lệnh zgrep cho phép bạn tìm kiếm nội dung của một tệp nén mà không cần giải nén nội dung trước.

Lệnh zgrep có thể được sử dụng đối với các tệp zip hoặc các tệp được nén bằng lệnh gzip .

Sự khác biệt là gì?

Tệp zip có thể chứa nhiều tệp trong khi tệp được nén bằng lệnh gzip chỉ chứa tệp gốc.

Để tìm kiếm văn bản trong một tệp được nén bằng gzip, bạn có thể chỉ cần nhập lệnh sau:

biểu thức zgrep filetosearch

Ví dụ, hãy tưởng tượng danh sách sách đã được nén bằng gzip. Bạn có thể tìm kiếm văn bản "mui xe cưỡi nhỏ màu đỏ" trong tệp nén bằng cách sử dụng lệnh sau:

zgrep "Little Red Riding Hood" danh sách sách.gz

Bạn có thể sử dụng bất kỳ biểu thức nào và tất cả các cài đặt có sẵn thông qua lệnh grep như là một phần của lệnh zgrep.

Làm thế nào để tìm kiếm tập tin nén bằng cách sử dụng lệnh zipgrep

Lệnh zgrep hoạt động tốt với các tệp được nén bằng gzip nhưng không hoạt động tốt trên các tệp được nén bằng tiện ích nén.

Bạn có thể sử dụng zgrep nếu tệp zip chứa một tệp nhưng hầu hết các tệp zip chứa nhiều tệp.

Lệnh zipgrep được sử dụng để tìm kiếm các mẫu trong một tệp zip.

Ví dụ: hãy tưởng tượng bạn có một tệp được gọi là sách có các tiêu đề sau:

Ngoài ra, hãy tưởng tượng bạn có một tệp được gọi là phim có các tiêu đề sau

Bây giờ hãy tưởng tượng hai tệp này đã được nén bằng định dạng zip thành tệp có tên là media.zip.

Bạn có thể sử dụng lệnh zipgrep để tìm các mẫu trong tất cả các tệp trong tệp zip. Ví dụ:

tên tệp mẫu zipgrep

Ví dụ, hãy tưởng tượng bạn muốn tìm tất cả các lần xuất hiện của "Harry Potter", bạn sẽ sử dụng lệnh sau:

zipgrep "Harry Potter" media.zip

Đầu ra sẽ như sau:

sách: Harry Potter và phòng chứa bí mật

sách: Harry Potter và mệnh lệnh của phượng hoàng

phim ảnh: Harry Potter và phòng chứa bí mật

phim ảnh: Harry Potter và chiếc cốc lửa

Như bạn có thể sử dụng bất kỳ biểu thức với zipgrep mà bạn có thể sử dụng với grep điều này làm cho công cụ rất mạnh mẽ và nó làm cho việc tìm kiếm các tệp zip đơn giản hơn nhiều so với giải nén, tìm kiếm và sau đó nén lại.

Nếu bạn chỉ muốn tìm kiếm một số tệp nhất định trong tệp zip, bạn có thể chỉ định tệp để tìm kiếm trong tệp zip dưới dạng một phần của lệnh như sau:

zipgrep "Harry Potter" media.zip phim

Đầu ra bây giờ sẽ như sau

phim ảnh: Harry Potter và phòng chứa bí mật

phim ảnh: Harry Potter và chiếc cốc lửa

Nếu bạn muốn tìm kiếm tất cả các tệp ngoại trừ một tệp, bạn có thể sử dụng lệnh sau:

zipgrep "Harry Potter" media.zip -x sách

Điều này sẽ tạo ra cùng một đầu ra như trước khi nó tìm kiếm tất cả các tệp trong media.zip ngoại trừ sách.