Tệp nguồn cấp dữ liệu hàng ngày của chúng tôi có kích thước trung bình 2 GB. Các tệp này được lưu trữ vào một tệp zip duy nhất vào cuối mỗi tháng và được lưu trữ trong một mạng chia sẻ. Theo thời gian, tôi có nhu cầu tìm kiếm các bản ghi nhất định trong các tệp đó. Tôi thực hiện việc này bằng cách kết nối bằng máy tính từ xa với máy chủ được chia sẻ, giải nén các tệp vào thư mục tạm thời, chạy tìm kiếm grep (hoặc PowerShell) và sau đó xóa thư mục temp. Bây giờ, bởi vì máy chủ của chúng tôi đang chạy thấp trong không gian đĩa, nó không còn được khuyến khích để giải nén tất cả chúng vào một thư mục temp. Một cách hiệu quả để thực hiện tìm kiếm regex trên các tệp được nén với tác động tối thiểu trên tài nguyên mạng hoặc đĩa là gì?Làm cách nào để có thể grep cho mẫu văn bản trong tệp văn bản được nén?
18
A
Trả lời
22
2
Có một số lệnh liên quan đến zip trong Tiện ích mở rộng cộng đồng Powershell (PSCX). Tôi không nghĩ rằng họ sẽ làm những gì bạn muốn tuy nhiên (tôi có thể hoàn toàn sai về điều đó mặc dù). Thay vào đó, tôi sẽ sử dụng .Net Zip Library (DotNetZip) cho phép bạn về cơ bản liệt kê tên của các tệp trong một tệp lưu trữ, sau đó trích xuất chỉ những tệp bạn muốn.
3
PowerShell Community Extensions (PSCX) bao gồm Read-Archive
và Expand-Archive
lệnh ghép ngắn, nhưng không (chưa?) Bao gồm nhà cung cấp điều hướng sẽ làm những gì bạn muốn rất đơn giản. Điều đó nói rằng, bạn có thể sử dụng Read-Archive
và Expand-Archive
. Một cái gì đó như thế này chưa được kiểm tra bit
Read-Archive -Path foo.zip -Format Zip | `
Where-Object { $_.Name -like "*.txt" } | `
Expand-Archive -PassThru | select-string "myRegex"
sẽ cho phép bạn tìm kiếm mà không cần giải nén toàn bộ lưu trữ.
Các vấn đề liên quan
- 1. Làm cách nào để nén văn bản?
- 2. Làm cách nào để tìm văn bản có văn bản được kéo dài trên vim?
- 3. Có cách nào đơn giản để làm cho văn bản html và văn bản kiểu nhập văn bản rộng không?
- 4. Làm cách nào để viết tập lệnh sed vào thông tin grep từ tệp văn bản
- 5. Làm cách nào để nối văn bản vào một tệp văn bản trong C++?
- 6. Bạn làm cách nào để biện minh cho văn bản trong hộp văn bản HTML?
- 7. Làm cách nào để tạo văn bản NLTK của riêng tôi từ một tệp văn bản?
- 8. Làm cách nào để nối văn bản vào một tệp?
- 9. Làm cách nào để ngăn văn bản được chọn?
- 10. làm thế nào để có được văn bản từ TextView
- 11. Làm cách nào để kiểm tra xem tệp văn bản có chứa một số văn bản nhất định không?
- 12. Lọc tệp văn bản thành tệp văn bản mới
- 13. Làm cách nào để căn giữa văn bản trong văn bản?
- 14. Làm cách nào để chọn nhiều đoạn văn bản trong hộp văn bản WPF?
- 15. Cách tìm tệp văn bản không chứa văn bản trên Linux?
- 16. Làm cách nào để xóa văn bản của tất cả các hộp văn bản trong biểu mẫu?
- 17. Làm cách nào để tạo liên kết có thể tải xuống tệp văn bản?
- 18. Làm cách nào để che phủ văn bản trên văn bản khác bằng CSS?
- 19. Làm cách nào để chuyển văn bản trong hộp văn bản sang chức năng JavaScript?
- 20. Cố gắng để có được văn bản được viết bên trong một văn bản TinyMCE
- 21. Làm cách nào để có được nội dung văn bản của một vùng văn bản với trình quản lý web?
- 22. Nhận văn bản bên trong thẻ xml bằng grep
- 23. Nén khoảng 1000 byte văn bản cho một QueryString
- 24. Khám phá "mẫu" trong một văn bản đã cho?
- 25. MVVM-Làm cách nào để chọn văn bản trong hộp văn bản?
- 26. Cách lấy văn bản của Trường Văn bản trong XCode
- 27. Cách tìm chuỗi trong tệp văn bản?
- 28. cách đọc tệp văn bản trong ios
- 29. Gán màu văn bản cho văn bản trong edittext
- 30. C# làm cách nào tôi có thể chọn tất cả văn bản trong hộp văn bản khi tôi nhấp đúp?
Và chỉ để rõ ràng, nó tìm kiếm trong các tệp zip “thông thường”, cũng như các tệp 'gzip'. – Nate
@Nate Không hoàn toàn đúng. Nó sẽ sử dụng gzip, có thể có vấn đề với các tệp zip 'thông thường', khiến nó giải nén chỉ tệp nén đầu tiên trong tệp nén. – dstibbe