หนึ่งในวิธีปฏิบัติทั่วไปของฉันคือการใช้ greps กับไฟล์ทุกประเภทเช่นหาไฟล์ HTML ทั้งหมดที่มีคำว่า "rumpus" อยู่ในนั้น ฉันจะใช้มัน
find /path/to -name "*.html" | xargs grep -l "rumpus"
บางครั้งจะกลับมาไฟล์ที่มีช่องว่างในชื่อของมันเช่นfind my new file.htmlเมื่อxargsผ่านสิ่งนี้ไปยังgrepฉันได้รับข้อผิดพลาด:
grep: /path/to/bad/file/my: No such file or directory
grep: new: No such file or directory
grep: file.html: No such file or directory
ฉันสามารถดูสิ่งที่เกิดขึ้นที่นี่: ไปป์หรือxargsคือการรักษาพื้นที่เป็นตัวคั่นระหว่างไฟล์ แต่สำหรับชีวิตของฉันฉันไม่สามารถหาวิธีป้องกันพฤติกรรมนี้ได้ สามารถใช้find+ ได้xargsหรือไม่ หรือฉันต้องใช้คำสั่งที่แตกต่างอย่างสิ้นเชิง?