ฉันจะค้นหาทุกไฟล์และไดเรกทอรีที่ตรงกับรูปแบบโดยไม่รวมหนึ่งไดเรกทอรีได้findอย่างไร
ว่าฉันมีโครงสร้างไฟล์ดังต่อไปนี้
.
foo-ยกเว้นฉัน /
foo.txt
foo-ยกเว้น-me-not /
foo.txt
บาร์/
foo.txt
foobar /
bar.txt
foofoo.txt
ฉันจะได้รับผลลัพธ์ต่อไปนี้โดยใช้find:
./bar/foo.txt ./bar/foobar ./bar/foobar/foofoo.txt ./foo-exclude-me-not ./foo-exclude-me-not/foo.txt
ฉันได้ลองใช้ทั้งสองคำสั่งต่อไปนี้:
หา -name 'foo-excluse-me' -prune -o -name 'foo *' หา - ชื่อ 'foo *' \! -path './foo-exclude-me/*'
แต่ทั้งคู่กลับมานี้:
./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
ฉันจะแยกfoo-exclude-meไดเรกทอรีได้อย่างถูกต้องได้อย่างไร?
@ MaxMackie perfect :)
—
Tyilo
มันซ่อมได้หรือไม่ การแก้ไขแบบใดที่เหมาะกับคุณ ฉันสามารถใส่ไว้ในคำตอบแทนความคิดเห็น
—
n0pe
@MaxMackie ใช้ทั้ง
—
Tyilo
-printและแทนfoo-exclude-me ./foo-exclude-me
น่ากลัวดูเหมือนว่ากิลส์ชนะฉันไปแม้ว่า :)
—
n0pe
foo-exclude-me./foo-exclude-meลองผนวกต่อ-printท้ายคำสั่งด้วย