Çıktının ayrıştırılması ls
tehlikelidir, çünkü bazı korkak karakterleri (boşluklar \n
, ...) kırabilir, bir dizindeki dosya sayısını bilmenin en iyi yolu nedir?
Ben genellikle find
bu ayrışmayı önlemek için güvenirim , ama benzer şekilde, find mydir | wc -l
aynı nedenlerle kırılacaktır.
Şu anda Solaris üzerinde çalışıyorum, ancak farklı birliklerde ve farklı kabuklarda taşınabilir olarak bir cevap arıyorum.
find
size yinelenen sayıda dosya alacaktır ( -maxdepth 1
bunu istemiyorsanız kullanın. dosya adındaki find mydir -maxdepth 1 -type f -printf \\n | wc -l
özel karakterleri işlememelidir, çünkü asla ilk etapta yazdırılmazlar.)