ฉันจะค้นหาเส้นทางโดยให้เพียงส่วนหนึ่งของเส้นทางได้อย่างไร


6

สมมติว่าผมต้องการที่จะหาเส้นทางนี้และข้อมูลเดียวที่ฉันมีคือ/<some_where_in_root>/find/this/path /find/this/pathอะไรจะเป็นวิธีที่ดีที่สุดในการค้นหาไดเรกทอรีเต็ม?

โดยทั่วไปฉันมีโปรแกรมที่สร้างไดเรกทอรีและหลังจากสร้างไดเรกทอรีแล้วฉันต้องการดูว่ามีเส้นทางอยู่ในไดเรกทอรีที่สร้างขึ้นหรือไม่

จนถึงตอนนี้ฉันได้ลองแล้วfind . -type d -name "/find/this/path"แต่นี่เป็นการตีความที่ชัดเจน/find/this/pathว่าเป็นสตริง มีวิธีการใช้การค้นหาในสถานการณ์นี้หรือไม่? มันจะเป็นการดีที่สุดที่จะแยกเส้นทางที่ฉันมีและรับpathส่วนและทำการค้นหาในสายนี้หรือไม่?

คำตอบ:



2

เพรดิเคต-path(และตัวแปรที่ไม่ตรงตามตัวพิมพ์เล็กและตัวพิมพ์ใหญ่-ipath) จะช่วยให้คุณค้นหาต้นไม้ทั้งหมดเพื่อหาข้อความที่แน่นอน


นั่นคือสิ่งที่ฉันคิด แต่ตอนนี้มันชัดเจนสำหรับฉันว่าฉันทำผิดไป ฉันได้ลองfind . -ipath "/find/this/path"
hax0r_n_code

2

รันคำสั่งทั้งสองนี้ method1:

root@developer~:# updatedb

root@developer~:# locate /find/this/path

method2:

root@developer~:# tree |grep /find/this/path

ผลลัพธ์จะประกอบด้วยเส้นทางแบบเต็มของ / find / this / path

ลองใช้วิธีนี้จาก /

root@developer~:# cd /

root@developer~:/#updatedb
root@developer~:/#locate /find/this/path
root@developer~:/#tree |grep /find/this/path

2

ใช้ได้กับทุกรสชาติของระวัง :

applemcg.$ find / -type d -name this | grep find/this/path

และคำแนะนำเล็กน้อยเมื่อขอความช่วยเหลือ คำนำหน้าการอ้างอิงครั้งแรกของคุณไปยังเส้นทางของการจัดเรียงนี้ด้วยคำว่า "ไดเรกทอรี" เช่นเดียวกับใน "เส้นทางไดเรกทอรี" ใช้เวลาสักครู่เพื่อตระหนักว่าคุณไม่ได้อ้างถึงเส้นทาง (csh) หรือตัวแปร PATH

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