ฉันจะค้นหาไฟล์ที่ระบุชื่อเฉพาะในไดเรกทอรีที่ระบุชื่อซึ่งสามารถอยู่ที่ใดก็ได้ในระบบไฟล์ได้อย่างไร


2

ฉันพยายามค้นหาไฟล์ภายในไดเรกทอรีที่รู้ทั้งชื่อไฟล์และชื่อของไดเรกทอรี ตัวอย่างเช่นฉันต้องการค้นหา

" ...don't know this part of file path stem).../dirname/filename.extension"

ฉันมีความรู้สึกฉันกำลังมองหาสิ่งนี้:

find / -type d -name "dirname" | xargs find * -type f -name "filename.extension"

แต่ฉันไม่สามารถตีคอมโบที่ถูกต้องได้ วิธีที่ถูกต้องในการทำเช่นนี้คืออะไร?

คำตอบ:


1

บางทีคุณกำลังมองหา-pathตัวเลือก:

find / -path "*/dirname/filename.extension"

ปัญหาในคำสั่งของคุณคือตัวตลก*หลังจาก|ไพพ์ไปที่รายการไฟล์ในไดเรกทอรีปัจจุบันดังนั้นfindคำสั่งจะค้นหาภายในพวกมัน อีกวิธีหนึ่งคือใช้-execตัวเลือก{}จะถูกแทนที่ด้วยสิ่งที่ค้นพบครั้งแรก (แต่ทำไมทำอย่างนี้?):

find / -type d -name "dirname" -exec find {} -type f -name "filename.extension" \;

0

ใช้แทน-wholename -nameมันจะช่วยให้คุณค้นหาชื่อพา ธ เต็ม

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