Tìm cả tập tin và thư mục thông thường


9

Làm thế nào tôi có thể nói (nếu tôi có thể nói!) Tìm để tìm các tệp của cả thư mục và loại tệp?

find -type fd

Nó giống như thời kỳ đen tối heuristic ở đây.

Câu trả lời:


12

Đây là lệnh bạn có thể sử dụng:

find -type f -or -type d

7
Hoặc find -type f -o -type dcho thay thế tuân thủ POSIX.
manatwork

Này, tôi gặp một chút rắc rối với điều này khi chạy $ find. -type d -or -type f -and -iname "tầm nhìn" nó không làm đúng như những gì tôi mong đợi, tôi có đang thiếu thứ gì khác không!
MageProspero

2
-a đã được ưu tiên hơn -o, sử dụng dấu ngoặc đơn (nhưng thoát chúng cho shell). Không cần sử dụng phi tiêu chuẩn -or hoặc -and.
Stéphane Chazelas

nếu tôi thử `tìm. -type d hoặc -type f -name 'abc' . I get an error.. find: đường dẫn phải đi trước biểu thức: `.. Có ý kiến ​​nào tại sao không?
alpha_989

1
@ alpha_989 mất tích -trước or?
Mateusz Piotrowski

2

tl: dr

sử dụng find . -name "*string*" -type f -o -name "*string*" -type d

giải trình

lệnh -o orlà các đối số sau filepath hoàn toàn, sao cho find . -name "*string*" -type f -o -type dtính toán find . (-name "*string*" -type f) -o (-type d). Vì lý do này, bạn phải chỉ định

Hầu hết người dùng sẽ muốn một cái gì đó trông giống như

find . -name  "*string*" -type f -o -name "*string*" -type d

mà tính như

find . (-name  "*string*" -type f) -o (-name "*string*" -type d)

tìm chi tiết cú pháp

-name "*string*"tìm kiếm tên có chứa chuỗi stringở bất cứ đâu trong đó.


1

Nếu bạn đang sử dụng GNU find thì giải pháp sau có thể phù hợp với bạn:

find -type d,f

Xem man findđể biết thêm chi tiết:

Để tìm kiếm nhiều loại cùng một lúc, bạn có thể cung cấp danh sách kết hợp các loại chữ được phân tách bằng dấu phẩy ,(phần mở rộng GNU).


2
Sử dụng GNU findphiên bản 4.7.0 .. Nó dường như không hỗ trợ ,. Thông báo lỗi nói rằngfind: Arguments to -type should contain only one letter.
alpha_989
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.