Câu trả lời:
Tôi nghĩ bạn sẽ có được những gì bạn muốn với -maxdepth 1tùy chọn, dựa trên cấu trúc lệnh hiện tại của bạn. Nếu không, bạn có thể thử nhìn vào trang người đàn ông chofind .
Mục có liên quan (để thuận tiện):
-maxdepth levels
Descend at most levels (a non-negative integer) levels of direc-
tories below the command line arguments. `-maxdepth 0' means
only apply the tests and actions to the command line arguments.
Các tùy chọn của bạn về cơ bản là:
find DirsRoot/* -maxdepth 0 -type f #This does not show hidden files
Hoặc là:
find DirsRoot/ -maxdepth 1 -type f #This does show hidden files
1có lẽ là những gì anh ấy muốn.
-maxdepth 0không hiển thị bất kỳ tệp nào nhưng -maxdepth 1đang hoạt động như dự định, với các tệp ẩn cũng được hiển thị.
*trong find DirsRoot/* -maxdepth 0 -type f. Nếu bạn để nó ra, nó sẽ không hiển thị bất kỳ tập tin.
Tôi tin rằng bạn đang tìm kiếm -maxdepth 1.
-maxdepth 1?
Nếu bạn tìm giải pháp tuân thủ POSIX:
cd DirsRoot && find . -type f -print -o -name . -o -prune
-maxdepth không phải là tùy chọn tuân thủ POSIX.
find DirsRoot/* -type f -prune?
-prunebtw) Câu trả lời là không, không thể. Để hiểu đầy đủ TẠI SAO nó không thể được đơn giản hóa, chỉ cần phát set -xlệnh trước khi phát ra find DirsRoot/* -type f -o -prunevà bạn sẽ thấy ngay lập tức. Nguyên nhân gốc rễ là những hạn chế của việc mở rộng DirsRoot/*biểu thức.
find . -name . -o -prune
-maxdepth 1?