Salah satu praktik umum saya adalah melakukan greps pada semua file dari jenis tertentu, misalnya, menemukan semua file HTML yang memiliki kata "rumpus" di dalamnya. Untuk melakukannya, saya gunakan
find /path/to -name "*.html" | xargs grep -l "rumpus"
Terkadang, findakan mengembalikan file dengan spasi dalam namanya seperti my new file.html. Namun, ketika xargsmeneruskan ini grep, saya mendapatkan kesalahan ini:
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
Saya bisa melihat apa yang terjadi di sini: baik pipa atau xargsmemperlakukan ruang sebagai pembatas antara file. Namun, untuk kehidupan saya, saya tidak tahu bagaimana cara mencegah perilaku ini. Bisakah itu dilakukan dengan find+ xargs? Atau apakah saya harus menggunakan perintah yang sama sekali berbeda?