Tôi đang cố gắng tạo một tập lệnh để nhập các tệp nhật ký nằm trong/var/log /. Tôi có thể hoặc các nhật ký không nén hoặc nhật ký nén (như là kết quả của việc ghi nhật ký) nhưng không thể thực hiện cả hai trong một lệnh (tôi nhận được "tệp nhị phân (đầu vào chuẩn) khớp" khi tôi cố gắng làm như vậy), là nó thậm chí có thể làm một điều như vậy? cảm ơn!Tôi có thể grep cả tệp đã nén và các tệp không nén bằng cùng một lệnh
Trả lời
Hãy thử làm điều này bằng cách sử dụng chức năng shell:
greplog() {
cd /var/log
{
cat $1 $1.*[0-9]
zcat $1.*.gz
} | grep "$2"
}
Cách sử dụng:
$ greplog syslog pattern
hoạt động hoàn hảo, cảm ơn! – lacrosse1991
Để nhất quán với grep và cộng sự, sẽ không tốt hơn nếu có 'sglog mô hình' greplog? – hbogert
zgrep
có thể làm điều đó cho bạn, nó xử lý cả file nén và không nén. Một nhược điểm là nó không thể xử lý các thư mục đệ quy. Nhưng đối với trường hợp của bạn, nó là đầy đủ và bạn có thể lọc ví dụ: syslog như sau:
$ zgrep PATTERN /var/log/syslog*
xzgrep
là một một cửa cho các tập tin thường được nén, ít nhất là trên Ubuntu 16 và MacOS 10.12 (cài đặt với xz từ MacPorts). Từ trang man: xzgrep invokes grep(1) on files which may be either uncompressed or compressed with xz(1), lzma(1), gzip(1), or bzip2(1)
.
sử dụng (lưu ý -r không được hỗ trợ):
$ find . -type f | parallel -j4 'xzgrep -Hn "PATTERN" {}'
- 1. SharpZipLib: Nén một tệp đơn thành một tệp nén
- 2. Nén tệp bằng RAR
- 3. Nén tệp nén zip
- 4. Cách nén và giải nén tệp?
- 5. Tôi làm cách nào để nén một thư mục và gửi email tệp nén bằng Python?
- 6. Có thể tăng cường iostreams đọc và nén các tệp được nén trên máy bay không?
- 7. Cập nhật một tệp trong một tệp nén được nén
- 8. Nén tệp hiện có bằng h5py
- 9. Vòng lặp shell có thể giải nén tất cả các tệp trong một thư mục không?
- 10. Nén và giải nén các thư mục và tệp bằng cách sử dụng Java
- 11. máy nén yui maven plugin không nén các tệp js
- 12. Cách giải nén tệp gzip và ghi tệp đó ra tệp không nén, trên iPhone
- 13. giải nén và tạo các tệp ipk
- 14. Làm cách nào để giải nén tệp bằng dòng lệnh?
- 15. giải nén dòng đầu tiên từ tệp bằng lệnh awk
- 16. Có thể nén các tệp LESS mà không xóa nhận xét bằng lessc?
- 17. Có thể nén javascript không nén
- 18. Giải nén và lưu tệp bằng cách sử dụng as3?
- 19. Các tệp đã nén phiên bản (docx, odt)
- 20. Làm cách nào để đọc/ghi các tệp đã nén?
- 21. Nén tệp trên S3
- 22. Nén từ xa các tệp bằng quá trình khởi động PowerShell và lệnh gọi
- 23. nén các tệp .js và .css khi đẩy trang web
- 24. Cách nén tất cả các tệp trong thư mục
- 25. Bỏ nén tệp bằng GPG trong android
- 26. giải nén tệp .gz bằng GZipStream
- 27. Thực hiện thao tác grep trong các tệp tar mà không cần giải nén
- 28. Giải nén tệp zip bằng zlib
- 29. Giải nén tệp .gz bằng C#
- 30. Sự cố nén với tệp JQuery trong Bộ nén YUI
@StevenPenny gz, vì vậy ví dụ syslog, syslog.1, syslog.2.gz, syslog.3.gz và vân vân – lacrosse1991