ฉันจะค้นหาชื่อไดเรกทอรีซ้ำด้วยสตริงเฉพาะโดยที่สตริงเป็นส่วนหนึ่งของชื่อไดเรกทอรีได้อย่างไร
ตัวอย่างเช่น: ชื่อไดเรกทอรีคือ "8.0.3-99966_en" แต่ฉันต้องการค้นหาไดเรกทอรีซ้ำด้วยสตริง "99966"
ฉันจะค้นหาชื่อไดเรกทอรีซ้ำด้วยสตริงเฉพาะโดยที่สตริงเป็นส่วนหนึ่งของชื่อไดเรกทอรีได้อย่างไร
ตัวอย่างเช่น: ชื่อไดเรกทอรีคือ "8.0.3-99966_en" แต่ฉันต้องการค้นหาไดเรกทอรีซ้ำด้วยสตริง "99966"
คำตอบ:
คุณสามารถใช้find
คำสั่ง:
find YOUR_STARTING_DIRECTORY -type d -name "*99966*" -print
ตัวอย่าง:
find ~ -type d -name "*99966*" -print
ควรหาไดเรกทอรีทั้งหมด ( -type d
) เริ่มต้นจากไดเรกทอรีบ้านของคุณ ( ~
) ที่มีชื่อของพวกเขาที่มีสตริง "99966" ( -name "*99966*"
) และส่งออกพวกเขา ( -print
)
ในการหลีกเลี่ยงผลลัพธ์ "ปฏิเสธสิทธิ์" ทั้งหมดคุณสามารถใช้:
find / -type d -name "*99966*" -print 2>/dev/null
ดูบทความนี้ในอุปกรณ์ nullและหนึ่งในสตรีมมาตรฐานนี้สำหรับข้อมูลเพิ่มเติม
คุณสามารถไพพ์เอาต์พุตเพื่อgrep
ให้ไฮไลต์ชื่อไดเร็กทอรี
Something like
find / -type d | grep "directory name"
ตัว/
บ่งชี้เพื่อค้นหาคอมพิวเตอร์ทั้งหมด
find | egrep string
วิธีง่ายๆในการทำเช่นนี้คือการใช้ หากมีการเข้าชมมากเกินไปให้ใช้การ-type d
ตั้งค่าสถานะเพื่อค้นหา เรียกใช้คำสั่งที่จุดเริ่มต้นของแผนผังไดเรกทอรีที่คุณต้องการค้นหาหรือคุณจะต้องระบุไดเรกทอรีเป็นอาร์กิวเมนต์find
ด้วย
ls -laR | egrep ^d
วิธีการทำก็คือการใช้
และlocate
คำสั่งก็มีประโยชน์เช่นกัน:locate string