SORU
22 Mayıs 2009, Cuma


-exec cmd {} bul, vs | xargs

Hangi dosyaların çok büyük bir set üzerinde daha fazla etkilidir ve kullanılmalıdır?

find . -exec cmd {}  

ya

find . | xargs cmd

(Dosya adları komik karakter yok varsayalım)

CEVAP
22 Mayıs 2009, Cuma


Hız farkı önemsiz olacaktır.

Ama emin olun:

  1. Senaryonu hiç kabul etmez dosya boşluk olacak, vb sekme dosya adı; ilk sürümüdür güvenli, ikinci değil.

  2. Senaryo senin değil tedavi bir dosya ile başlayan "-" bir seçenek olarak.

Kodunuzu bu gibi görünmelidir:

find . -exec cmd -option1 -option2 -- {}  

ya

find . -print0 | xargs -0 cmd -option1 -option2 --

İlk versiyonu sayabilirsiniz olarak yazmak daha kısa ve kolay 1, ama ikinci versiyonu daha taşınabilir ve güvenli, "-exec cmd {} " bir nispeten yeni bir seçenek GNU findutils (2005 yılından bu yana, çok çalışan sistemler olacak değil henüz) ve buggy recently. Ayrıca pek çok insan bunu bilmez "-exec cmd {} Diğer cevaplar gördüğünüz gibi.",

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • colacas

    colacas

    29 EKİM 2006
  • DetroitBORG

    DetroitBORG

    29 Temmuz 2008
  • UKF

    UKF

    2 Aralık 2009