Tôi hoàn toàn không hiểu ví dụ được đưa ra từ man find
, ai có thể cho tôi một số ví dụ và giải thích không? Tôi có thể kết hợp biểu thức chính quy trong đó không?
Câu hỏi chi tiết hơn là như thế này:
Viết một kịch bản shell changeall
, có giao diện như thế nào changeall [-r|-R] "string1" "string2"
. Nó sẽ tìm thấy tất cả các file đi kèm hậu tố của .h
, .C
, .cc
, hay .cpp
và thay đổi tất cả các lần xuất hiện của string1
để string2
. -r
là tùy chọn chỉ ở trong thư mục hiện tại hoặc bao gồm cả thư mục con.
GHI CHÚ:
- Đối với trường hợp không đệ quy,
ls
KHÔNG được phép, chúng tôi chỉ có thể sử dụngfind
vàsed
. - Tôi đã thử
find -depth
nhưng nó KHÔNG được hỗ trợ. Đó là lý do tại sao tôi tự hỏi nếu-prune
có thể giúp đỡ, nhưng không hiểu ví dụ từman find
.
EDIT2: Tôi đang làm bài tập, tôi không đặt câu hỏi rất chi tiết vì tôi muốn tự mình hoàn thành nó. Vì tôi đã thực hiện nó và đưa nó vào, bây giờ tôi có thể nêu toàn bộ câu hỏi. Ngoài ra, tôi quản lý để hoàn thành bài tập mà không sử dụng -prune
, nhưng dù sao cũng muốn học nó.
-prune
không chỉ hoạt động trên các thư mục (nhưng, đối với các thư mục, nó cũng không ngăn được việc nhập các thư mục phù hợp với điều kiện đó, tức là ở đây các thư mục phù hợp với điều đó-name .snapshot
).