ฉันมีปัญหาแปลก ๆ เล็กน้อย
ถ้าฉันวิ่ง:
find . -iname '*.php' -o -iname '*.pl' -o -iname '*.html' | xargs grep -i users
ฉันได้รับข้อผิดพลาดในการโหลดชื่อไฟล์ที่มีช่องว่าง แต่ก็มีบางไฟล์ที่ตรงกัน
อย่างไรก็ตามหากฉันลองต่อไปนี้เพื่อจัดการชื่อไฟล์ที่มีช่องว่างอย่างถูกต้องจะไม่มีการคืนค่าที่ตรงกัน:
find . -iname '*.php' -o -iname '*.pl' -o -iname '*.html' -print0 | xargs -0 grep -i users
ผมทำอะไรผิดหรือเปล่า? คำสั่งที่สองควรส่งคืนฉันอย่างน้อยก็เป็นไฟล์ที่เหมือนกันกับไฟล์แรก แต่ฉันไม่พบรายการใด
-exec grep -i users {} \;
แทนการใช้xargs
?