Tìm kiếm đệ quy văn bản cụ thể trong các tệp cụ thể nhưng chỉ trong các thư mục cụ thể


1

Tôi có một cấu trúc thư mục lồng nhau chứa rất nhiều thư mục và tập tin.

Làm cách nào để tôi tìm kiếm bên trong các tệp cho một mẫu, ví dụ "sampletext", nhưng chỉ khi tên tệp khớp với một mẫu (ví dụ: chỉ tìm kiếm bên trong các tệp có đuôi .txt) và cuối cùng tên thư mục chứa phải khớp với mẫu khác? (ví dụ "dữ liệu").

Tôi chắc chắn rằng tôi có thể viết một kịch bản shell để làm điều đó, nhưng tôi chắc chắn rằng một lớp lót thông minh tồn tại sẽ dạy cho tôi những điều mới!

Cảm ơn trước

Câu trả lời:


2

Vì bạn nói rằng bạn có cấu trúc thư mục lồng nhau, tôi tin rằng *data*/*txtsẽ không làm những gì bạn cần. Tôi đề nghị

find . –type d –name "*data*" –exec sh –c "grep sampletext /dev/null {}/*.txt" \;

/dev/nullđể buộc grephiển thị tên tệp ngay cả khi nó chạy trên một thư mục chỉ có một .txttệp trong đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.