Yaygın uygulamalarımdan biri, belirli bir türdeki tüm dosyalar üzerinde greps yapmaktır; örneğin, içinde "rumpus" kelimesini içeren tüm HTML dosyalarını bulmaktır. Bunu yapmak için kullanıyorum
find /path/to -name "*.html" | xargs grep -l "rumpus"
Bazen, find
adında boşluk olan bir dosya döndürür my new file.html
. Ne zaman xargs
bu geçirilen grep
, ancak, bu hataları alıyorum:
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
Burada neler olup bittiğini görebiliyorum: ya boru ya xargs
da boşluklar dosyalar arasındaki sınırlayıcılar gibi davranıyor. Hayatım boyunca, bu davranışı nasıl önleyeceğimi bilemiyorum. find
+ İle yapılabilir xargs
mi? Yoksa tamamen farklı bir komut kullanmalı mıyım?