Bu finddoğrudan aşağıdakiler kullanılarak yapılabilir -exec:
find . -name "*.xml" -type f -exec xmllint --output '{}' --format '{}' \;
Ne geçirilen için -execşablon parametreleri ile bulunan dosya başına bir kere çağrılır {}geçerli dosya adı ile değiştirilmektedir. \;Find komutunun ucunda Şimdi çizgiyi sonlandırır.
Hem giriş hem de çıkış dosya adlarının aynı çağrıda belirtilmesi gerektiğinden, dosya kullanımı xargsgerçekten gerekli değildir çünkü xmllintdosya başına bir kez çağırmamız gerekir.
xargsbulmadan aktarılacak komut aynı anda birden çok dosya üzerinde çalışıyorsa ve bu liste uzunsa gerekli olurdu. Bu durumda bunu yapamazsınız, çünkü tek dosya adını --outputseçeneğine geçirmeniz gerekir xmllint. Olmadan xargs"çok uzun Argüman Listesi" a ile bitebileceğini hata dosyaların bir çok işlem eğer. xargsayrıca -Iseçeneği ile dosya değiştirme dizelerini destekler :
find . -name "*.xml" -type f | xargs -I'{}' xmllint --output '{}' --format '{}'
find -execYukarıdaki komutla aynı şeyi yapar . Klasörlerinizi herhangi bir boşluk gibi garip karakter varsa kullanmak gerekecektir -0seçenekleri findve xargs. Ama kullanarak xargsile -Iseçeneği ima -L 1siz de doğrudan kullanabilir, böylece araç sadece zaten bir seferde 1 dosyayı işlemek findile -exec.