{} ในคำสั่ง find / path / -exec '{}' ทำอะไร


12

ฉันอยากรู้ว่าคำสั่งต่อไปนี้มีไว้เพื่ออะไร

คำสั่งตัวอย่าง:

find /foo/ -name "*.txt" -exec rm -v {} \;

หน้า Man ให้การแจ้งเตือนเล็กน้อย แต่มันทำให้ฉันสับสนเล็กน้อย:

สตริง '{}' ถูกแทนที่ด้วยชื่อไฟล์ปัจจุบันที่ถูกประมวลผลทุกที่ที่เกิดขึ้นในอาร์กิวเมนต์ของคำสั่งไม่ใช่เฉพาะในอาร์กิวเมนต์ที่อยู่คนเดียวเช่นเดียวกับในบางรุ่นของการค้นหา

คำตอบ:


12

นั่นคือสัญลักษณ์ที่ถูกแทนที่ด้วยชื่อไฟล์ที่findเกิดขึ้น


อ่ามันสมเหตุสมผลแล้วและฉันจะเพิ่มข้อโต้แย้งอีกอันได้ไหม?
chrisjlee

6
คุณสามารถเพิ่มสิ่งที่คุณชอบ: มันเป็นเพียงข้อโต้แย้ง สวยมากเหมือน"$a-single-output-file-name"ตอนที่-execลงท้ายด้วย\; ... แต่มันหมายความว่า"$multiple" "$output" "$filenames"เมื่อ-execลงท้ายด้วย\+
Peter.O

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