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:
Senaryonu hiç kabul etmez dosya boşluk olacak, vb sekme dosya adı; ilk sürümüdür güvenli, ikinci değil.
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ş:
Nasıl kullanılır > xargs komutu?...
Xargs komutu bir kez giriş her satır i...
Kullanın dosya boşluklar içeren xargs...
değişken olarak birden çok komut ile x...
Bir bash betiği içinde xargs ile arama...