Làm cách nào tôi có thể tìm thấy mọi tệp và thư mục khớp với một mẫu, ngoại trừ một thư mục bằng cách sử dụng find?
Nói rằng tôi có cấu trúc tập tin sau đây;
.
foo-loại trừ tôi /
foo.txt
foo-loại trừ tôi-không /
foo.txt
quán ba/
foo.txt
foobar /
bar.txt
foooo.txt
Làm thế nào tôi có được đầu ra sau bằng cách sử dụng find:
./bar/foo.txt ./bar/foobar ./bar/foobar/foustoo.txt ./foo-exclude-me-not ./foo-exclude-me-not/foo.txt
Tôi đã thử sử dụng cả hai lệnh sau:
tìm thấy . -name 'foo-loại trừ tôi' -prune -o -name 'foo *' tìm thấy . -tên 'foo *' \! -path './foo-exclude-me/*'
nhưng cả hai đều trả lại cái này:
./bar/foo.txt
./bar/foobar
./bar/foobar/foofoo.txt
./foo-exclude-me # << this should be excluded
./foo-exclude-me-not
./foo-exclude-me-not/foo.txt
Làm thế nào tôi có thể loại trừ đúng foo-exclude-methư mục?
-printvà foo-exclude-methay vì ./foo-exclude-me.
foo-exclude-methay vì./foo-exclude-me. Cũng thử nối thêm-printvào cuối lệnh.