Tìm kiếm thông qua các tệp nén trên Linux -

Tìm kiếm thông qua các tệp nén trên Linux -

Tìm kiếm thông qua các tệp nén trên Linux -

Tìm kiếm thông qua các tệp nén trên Linux -

Tìm kiếm thông qua các tệp nén trên Linux -
Tìm kiếm thông qua các tệp nén trên Linux -
(028) 35124257 - 0933 427 079

Tìm kiếm thông qua các tệp nén trên Linux

01-12-2021

Có một số cách để tìm kiếm thông qua các tập tin văn bản nén trên hệ thống Linux mà không cần phải giải nén chúng trước. Tùy thuộc vào định dạng của tập tin, bạn có thể chọn xem toàn bộ tập tin, trích xuất văn bản cụ thể, điều hướng qua nội dung tập tin tìm kiếm nội dung quan tâm và đôi khi thậm chí chỉnh sửa nội dung.

Đầu tiên, để cho bạn thấy cách nó hoạt động, tôi đã nén tập tin từ trên một trong các hệ thống Linux của tôi (/usr/share/dict/words) sử dụng các lệnh sau:

$ cp /usr/share/dict/words .

$ 7z a words.7z words

$ bzip2 -k words

$ gzip -k words

$ xz -k words

$ zip words.zip words

Các tùy chọn -k được sử dụng với các lệnh bzip2, gzip xz giữ cho các lệnh này không loại bỏ tệp gốc, mà chúng sẽ mặc định. Các tệp kết quả sau đó trông như thế này:

$ ls -l
total 9164
-rw-r--r--. 1 shs shs 4953598 Oct 27 16:11 words
-rw-r--r--. 1 shs shs 1230545 Oct 27 16:14 words.7z
-rw-r--r--. 1 shs shs 1712421 Oct 27 16:11 words.bz2
-rw-r--r--. 1 shs shs 1476067 Oct 27 16:11 words.gz
-rw-r--r--. 1 shs shs 1230236 Oct 27 16:11 words.xz
-rw-r--r--. 1 shs shs 1476203 Oct 28 12:42 words.zip
 

Xem nội dung tệp nén

Để xem toàn bộ nội dung của một tập tin nén trong khi để lại tập tin nén còn nguyên vẹn, bạn có thể sử dụng bất kỳ lệnh nào sau đây:

Đối với 7z: 7z x -- words.7z

Với bz2: bzcat words.bz2

Bản mẫu: zcat words.gz

Viết tắt của xz: xzcat words.xz

Ngôn ngữ zip: zcat words.zip

Ví dụ:

$ bzcat words.bz2 | head -5        $ 7z x -so words.7z | head -5
1080                               1080
10-point                           10-point
10th                               10th
11-point                           11-point
12-point                           12-point

Ví dụ:

Bạn cũng có thể truyền dẫn đầu ra ra lệnh như nhiều hơn hoặc grep, hoặc chỉ cần xem nó di chuyển nhanh xuống màn hình của bạn.

$ 7z x -so words.7z | grep overclever
overclever
overcleverly
overcleverness
 

Duyệt web với less

Bạn có thể duyệt một số loại tệp nén (bz2, gz và xz) bằng cách sử dụng lệnh less.

$ less words.bz2        $ less words.gz         $ less words.xz
1080                    1080                    1080
10-point                10-point                10-point
10th                    10th                    10th
11-point                11-point                11-point
12-point                12-point                12-point
...                     ...                     ...
 

Tìm kiếm văn bản trong tệp 7z

Lệnh 7z cho phép bạn xem các tệp có trong kho lưu trữ, nhưng tìm kiếm nội dung của chúng đòi hỏi tùy chọn trích xuất (-x). Tuy nhiên, một lệnh như thế dưới đây để lại tệp nén còn nguyên vẹn nhưng cũng trích xuất nội dung trong quá trình. Tùy chọn -so cho phép lệnh ghi dữ liệu để chuẩn ra.

$ 7z x -so words.7z | grep clever | column
clever          cleverest       cleverly        overcleverly    uncleverness
cleverality     clever-handed   cleverness      overcleverness
clever-clever   cleverish       clevernesses    unclever
cleverer        cleverishly     overclever      uncleverly
 

Dường như không có một lệnh giống như grep cho các tệp 7z, nhưng các lệnh như thế này hoạt động rất tốt.

Tìm kiếm văn bản trong các loại tệp nén khác

Để tìm kiếm văn bản cụ thể trong các tệp nén, bạn có thể sử dụng các lệnh như sau:

$ bzgrep overclever words.bz2
$ zgrep overclever words.gz
$ xzgrep overclever words.xz
$ zipgrep overclever words.zip
 

Đối với bất kỳ lệnh nào trong số này, bạn sẽ thấy những từ này mà chúng lấy từ các tệp từ nén:

overclever
overcleverly
overcleverness
 

Sửa tệp nén‎

Sử dụng ‎‎vi‎‎ hoặc ‎‎vim, ‎‎bạn thực sự có thể chỉnh sửa một số tệp nén ‎‎(tệp bz2,‎‎ ‎‎gz‎‎ và ‎‎xz)‎‎ để thêm, thay đổi hoặc loại bỏ nội dung. Các tệp sẽ vẫn được nén trên đĩa của bạn, nhưng bạn sẽ có thể nhận thấy sự thay đổi kích thước.‎

$ xzcat words.xz | tail -3
Zz
zZt
ZZZ
$ vi words.xz
$ xzcat words.xz | tail -3
zZt
ZZZ
I added this line!
 

Wrap-up‎

‎Với tất cả các cách mà bạn có thể duyệt và chọn nội dung từ các tệp nén, đây có thể là thời điểm tốt để thực hiện "vượt quá giới hạn" của bạn và xem các phương pháp được mô tả trong bài đăng này có thể hữu ích như thế nào.‎

Tham gia cng đồng Network World trên Facebook và LinkedIn để bình lun v các ch đề được quan tâm hàng đầu.

 


FORM ĐĂNG KÝ MUA HÀNG
Đặt hàng
icon-cart
0