หากคุณให้พา ธ สัมบูรณ์คำสั่ง find คำสั่งนั้นจะคายผลลัพธ์ด้วยพา ธ สัมบูรณ์ ดังนั้นจากไดเรกทอรี Ken หากคุณต้องการพิมพ์:
find /home/ken/foo/ -name bar -print
(แทนเส้นทางสัมพัทธ์find . -name bar -print
)
คุณควรได้รับ:
/home/ken/foo/bar
ดังนั้นหากคุณต้องการls -l
และให้มันคืนค่าพา ธ สัมบูรณ์คุณสามารถบอกคำสั่ง find เพื่อเรียกใช้งานls -l
บนสิ่งที่พบ
find /home/ken/foo -name bar -exec ls -l {} ;\
หมายเหตุ: มีช่องว่างระหว่าง{}
และ;
คุณจะได้รับสิ่งนี้:
-rw-r--r-- 1 ken admin 181 Jan 27 15:49 /home/ken/foo/bar
หากคุณไม่แน่ใจว่าไฟล์อยู่ที่ไหนคุณสามารถเปลี่ยนตำแหน่งการค้นหาได้ตลอดเวลา ตราบใดที่เส้นทางการค้นหาเริ่มต้นด้วย "/" คุณจะได้รับเส้นทางที่แน่นอนกลับมา หากคุณกำลังค้นหาสถานที่ (เช่น /) ที่คุณจะได้รับการปฏิเสธข้อผิดพลาดที่ได้รับอนุญาตจำนวนมากฉันขอแนะนำให้เปลี่ยนเส้นทางข้อผิดพลาดมาตรฐานเพื่อให้คุณสามารถเห็นผลลัพธ์การค้นหา:
find / -name bar -exec ls -l {} ;\ 2> /dev/null
( 2>
เป็นไวยากรณ์สำหรับเชลล์ Borne และ Bash แต่จะไม่ทำงานกับ C เชลล์มันอาจทำงานในเชลล์อื่นด้วยเช่นกัน แต่ฉันรู้แน่ ๆ ว่ามันทำงานใน Bourne และ Bash)
find /home/ken/foo/bar -exec ls -ld $PWD/{} \;