On 17.11.2008 08:47, Ömer F. USTA wrote: > merhabalar karşılaştığınız o rm veya ls ile ilgili sorunu for > döngüsüyle dosyaları > tek tek dolaşarak göstertme veya silme ile aşabilirdiniz > yani çok fazla sayıda argüman yerine tek argüman verecek şekilde ama dosya > sayısı kadar loop yaparak sorunu aşabilirdiniz. > > for X in "*"; do > ls "$X" > done > gibi bişi işinizi görebilirdi
Birkac nokta: * yukaridaki dongu sunucuyu oldurur. 50K da bile: $ ls -1 | wc -l 50446 $ time for X in *; do ls "$X" > /dev/null; done real 3m46.597s user 0m50.180s sys 2m13.370s * Yuksek adetli dosyasi olan klasorlerde her dosyaya stat() veya lstat() yapmayan bir yontem secin. Asagidaki yontem optimum olmasa da yeterince yakin: $ time find . ! -name . -print > /dev/null real 0m0.458s user 0m0.100s sys 0m0.360s * Yeni bash versiyonlarinda "*" expand edilmiyor: $ ls a b $ echo * a b $ echo "*" * $ bash --version GNU bash, version 3.2.33(1)-release (x86_64-pc-linux-gnu) Copyright (C) 2007 Free Software Foundation, Inc. -- Eray _______________________________________________ Linux E-Posta Listesi [email protected] Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 dakika içinde üyeliğinizi sonlandırabilirsiniz. http://liste.linux.org.tr/mailman/listinfo/linux
