Điểm:0

Nén tất cả các tệp được trả về từ lệnh "grep-ril"

lá cờ lc

Tôi đang sử dụng grep -ril để có thể xem tất cả các tệp có chứa một chuỗi nhất định:

[user@machine]$ grep -ril "chuỗi kiểm tra"
tập tin1.log
tập tin2.log
tệp3.log
tệp4.log
...

Sau đó, tôi muốn nén tất cả các tệp đã được lệnh đó trả về. Điều này có thể không?

Tôi đã thử những thứ như grep -ril myPotype | tệp zip.zipgrep -ril myPotype | zip > files.zip nhưng không có gì đã làm việc cho đến nay.

Có một cách giải quyết cho điều này?

Cảm ơn bạn.

Điểm:2
lá cờ cn
Bob

Sử dụng khóa kéo công tắc dòng lệnh -@khóa kéo lấy danh sách các tệp đầu vào từ đầu vào tiêu chuẩn thay vì từ dòng lệnh. Ví dụ,

grep -ril "chuỗi kiểm tra" | zip tên-của-tệp-zip-mới -@ 
Điểm:0
lá cờ in

Bạn có thể thử lệnh theo cách này:

zip zipfile.zip `grep -ril "test string"`
Ginnungagap avatar
lá cờ gu
Điều này gặp phải sự cố "bất kỳ tệp nào có khoảng trắng hoặc bắt đầu bằng dấu gạch ngang" thông thường khiến nó không chung chung, không ổn định và thường là một thói quen xấu vì nó có thể gây ra sự cố bảo mật trong một số trường hợp.
Romeo Ninov avatar
lá cờ in
@Ginnungagap, IMHO tương tự cho câu trả lời của Bob
Ginnungagap avatar
lá cờ gu
Nó có thể bị các dòng mới trong tên tệp nhưng nó không bị một tệp có tên `-o` (ví dụ) được hiểu là một chuyển đổi dòng lệnh bởi `zip` và nó cũng không bị `tên tệp có dấu cách` (một lần nữa, vì dụ) được hiểu là 3 tệp riêng biệt. Và theo nguyên tắc chung, tốt hơn là mở rộng đường ống hơn là mở rộng trên dòng lệnh vì nó không có khả năng thay đổi hành vi của chương trình được gọi.
Ginnungagap avatar
lá cờ gu
Trên thực tế, khi tìm kiếm tài liệu minh họa điều này, tôi tình cờ thấy [điều này](https://insinuator.net/2014/12/revisiting-an-old-friend-shell-globbing/) giải thích vấn đề và thực sự liệt kê `zip ` như một vấn đề bảo mật với loại lời gọi này.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.