หนึ่งในวิธีปฏิบัติทั่วไปของฉันคือการใช้ 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
หรือไม่ หรือฉันต้องใช้คำสั่งที่แตกต่างอย่างสิ้นเชิง?