Tôi có một vấn đề tôi hy vọng ai đó sẽ có thể giúp đỡ với ...grep -f trên các tập tin trong một thư mục nén
Tôi đang thực hiện một fgrep đệ quy/grep -f tìm kiếm trên một thư mục nén bằng cách sử dụng lệnh sau tại một trong những chương trình của tôi:
lệnh tôi đang sử dụng
grep -r -i -z -I -f /path/to/pattern/file /home/folder/TestZipFolder.zip
Bên trong tập tin mô hình là chuỗi "Chó" mà tôi đang cố gắng để tìm kiếm.
Trong thư mục nén lên có một số tệp văn bản chứa chuỗi "Chó". Lệnh grep -f tìm thành công các tệp văn bản có chứa chuỗi "Dog" trong 3 tệp bên trong thư mục nén, nhưng nó in tất cả trên một dòng và một số ký tự lạ xuất hiện ở cuối tức là PK (dưới dạng được hiển thị bên dưới). Và khi tôi thử và in sản lượng vào một tập tin trong chương trình của tôi nhân vật khác xuất hiện ở cuối dòng như ^B^T^@
Output từ mệnh lệnh grep -f:
TestZipFolder/test.txtThis is a file containing the string DogPKtest1.txtDog, is found again in this file.PKTestZipFolder/another.txtDog is written in this file.PK
Làm thế nào tôi sẽ nhận được mỗi người trong số các tập tin mà chuỗi "Chó" đã được tìm thấy để in trên một dòng mới để chúng không phải tất cả được nhóm lại với nhau trên một dòng như bây giờ? Ngoài ra đâu là "PK" và các ký tự lạ khác xuất hiện trong đầu ra và làm cách nào để ngăn chúng xuất hiện?
đầu ra mong muốn
TestZipFolder/test.txt:This is a file containing the string Dog
TestZipFolder/test1.txt:Dog, is found again in this file
TestZipFolder/another.txt:Dog is written in this file
cái gì đó dọc những dòng này, nhờ đó người dùng có thể nhìn thấy nơi các chuỗi có thể được tìm thấy trong các tập tin (bạn thực sự nhận được đầu ra ở định dạng này nếu bạn chạy grep lệnh trên một tệp không phải là tệp zip).
giúp đỡ của bạn với điều này được nhiều đánh giá, nhờ
có cách nào tôi cũng có thể hiển thị vị trí khớp trong tệp như trong lệnh grep trong câu hỏi của tôi không ?, trái ngược với việc chỉ liệt kê tệp được tìm thấy trong đó? - cảm ơn rất nhiều –
bạn có thể cung cấp đầu ra mong muốn không? Nếu bạn làm thế, tôi có thể thử. – blackSmith
Cập nhật câu hỏi của tôi để hiển thị kết quả mong muốn. Đó là định dạng tương tự mà đầu ra nằm trong nếu bạn chạy lệnh grep trên một thư mục không phải là tệp zip (nghĩa là nó cung cấp tên của tệp mà một kết quả trùng khớp được tìm thấy sau đó sau dấu hai chấm cho biết vị trí của nó) rất nhiều –