ค้นหาไฟล์ที่ไม่มีนามสกุล


43

สมมติว่าฉันมี:

foo.txt
bar
baz.ooo

ถ้าฉันใช้ls -1 !(*.*)แล้วฉันจะได้รับbarผล เยี่ยมมากตอนนี้ฉันต้องการได้ผลลัพธ์เหมือนกันกับการค้นหา - บางอย่างfind -regexที่สามารถทำงานได้

บันทึก:

find -name !(*.*)ไม่ใช่คำตอบ!(*.*)ในขณะที่มันยังคงเป็นรูปกลมของ Bash ซึ่งฉันไม่สามารถใช้ได้

คำตอบ:


63

คุณสามารถใช้: ขัดแย้งนิพจน์ต่อไปนี้ที่นี่ที่มีชื่อไฟล์เป็น ''find . -type f ! -name "*.*"!

คุณสามารถใช้-maxdepthตัวเลือกเพื่อลดความลึกของการค้นหา


1
ฉันชอบคำตอบของคุณมากที่สุดเพราะของฉันมีข้อ จำกัด อื่น ๆ สำหรับชื่อไฟล์และคุณเป็นหลักฐานกระสุน
pawel7318

สิ่งนี้ก็ยอดเยี่ยมเช่นกันเมื่อls -1 !(*.*)ไม่ได้ผลเพราะ!ให้ "ไม่พบกิจกรรม"
Noumenon

2
@Noumenon ทำset +Hเพื่อแก้ปัญหานั้น
pawel7318

1
หากคุณถือว่า.gitignoreเป็นไฟล์ที่ไม่มีส่วนขยาย (เช่น path ของ Node.extname ()) ให้ใช้! -name "?*.*"แทน! -name "*.*"
Johnny Wong
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.