ค้นหาไฟล์ที่มีชื่อที่แน่นอนโดยไม่ต้องใช้สัญลักษณ์แทน


12

ฉันใช้ Ubuntu เป็นเวลา 2 สัปดาห์และยังคงผิดหวังกับการใช้งานไฟล์อย่างง่าย

ฉันต้องการที่จะพบไฟล์ที่เรียกว่า9.jpg ทุกคำสั่งภายในและโปรแกรมของบุคคลที่สามที่ฉันได้ลองให้ฉัน 99.jpg, 999.jpg, "lovepotion number9.jpg" และอีกหนึ่งพันล้านรายการที่คล้ายกัน

คุณจะค้นหาชื่อไฟล์ EXACT ที่ไม่มี wildcard ได้อย่างไร

นี่เป็นเพียงความผิดหวังครั้งล่าสุดของฉัน เห็นได้ชัดว่าฉันขาดอะไรบางอย่างพื้นฐาน กวดวิชาที่ดีทุกที่?

คำตอบ:


9
locate /9.jpg

หมายเหตุ/- หากไม่มีคุณจะพบทุกไฟล์ที่ลงท้าย9.jpgด้วย เทคนิคแม้ว่าจะค้นหาเส้นทางแฟ้มกับมันเป็น substring ในทุกไดรฟ์ซึ่งรวมถึง9.jpg.pngเพื่อให้ผลงานที่ดีกว่านี้กับไฟล์ที่มีนามสกุลไฟล์ - ไฟล์ชื่อเข้าสู่ระบบโดยใช้จะแสดงให้คุณทุกไฟล์ใน/log/var/log/


ผู้ชายบอกว่า "ใช้locate - r \[filename]" ทั้งสองดูเหมือนจะทำงาน
phil294

@Blauhirn คุณกำลังพูดถึงman locate? locate -b '\NAME'สาเหตุเหมืองกล่าวว่าจะใช้
wjandrea

@wjandrea ของฉันก็เช่นกัน ฉันไม่มีความคิดอีกต่อไป บางทีคู่มืออาจมีการเปลี่ยนแปลง
phil294

8

คุณจะค้นหาชื่อไฟล์ EXACT ที่ไม่มี wildcard ได้อย่างไร

ในการค้นหาไฟล์ที่แน่นอนโดยไม่มีfindคำสั่งwildcard ให้ใช้คำสั่ง

  1. เปิดเทอร์มินัลโดยกดCtrl+ Alt+T

  2. พิมพ์คำสั่งและกด Enter

    find / -name 9.jpg
    

หากคุณต้องการค้นหาในโฟลเดอร์บ้านของคุณเท่านั้นให้ใช้~/แทน/เป็นต้น แทนที่/ด้วยชื่อไดเรกทอรีที่คุณต้องการค้นหา หากคุณต้องการค้นหาในไดเรกทอรีปัจจุบันและไดเรกทอรีทั้งหมดภายในมันใช้ในสถานที่ของ.//


2

การค้นหาใน nautilus (ตัวจัดการไฟล์น่าเบื่อ) คือการออกแบบ จำกัด ตัวเลือกที่เหมือนไวด์การ์ดอย่างง่าย หากคุณต้องการอะไรที่ซับซ้อนกว่านี้คุณสามารถเลือกใช้ GUI หรือบรรทัดคำสั่งก็ได้

GUI: ติดตั้งแพ็คเกจ gnome-search-tool ไม่ว่าจะผ่านทางศูนย์ซอฟต์แวร์หรือโดยการพิมพ์

 sudo apt-get install gnome-search-tool

เรียกใช้ (เรียกว่า "ค้นหาไฟล์") เว้นรายการหลักว่างไว้และเพิ่มตัวเลือกการค้นหาชื่อ "ชื่อตรงกับนิพจน์ทั่วไป" ในช่องข้อความใหม่พิมพ์^9.jpg( ^ที่จุดเริ่มต้นตรงกับจุดเริ่มต้นของสตริงในการแสดงออกปกติ)

ป้อนคำอธิบายรูปภาพที่นี่

สำหรับบรรทัดคำสั่งfindยูทิลิตี้จะให้คำตอบที่แม่นยำ:

 find . -name '9.jpg'

พิจารณาสิ่งนี้: ไฟล์ "999.jpg" และ "9.jpg" ในไดเรกทอรีt/:

$ ls t
99.jpg  9.jpg
$ find . -name '9.jpg'
./t/9.jpg
$ find . -name '*9.jpg'
./t/99.jpg
./t/9.jpg
$

ฉันหวังว่านี่จะชัดเจน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.