• If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.
Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    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

    $ 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-pointVí 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.‎

Working...
X