Pythontr

husonet | Tarih: 27.01.2015

wc komutu

Bir dizindeki dosyaların, dizinlerin ve sembolik linklerin sayısını wc komutu ile alabilirsiniz

Bu dizin altındaki dosyaların ve klasörlerin yada bir konsol komutunun çıktısını bir çok sebepten dolayı sayılarını almak isteyebilirsiniz ben genelde proseslerin sayısını almak için kullanıyorum. Aşağıda örneklemeye çalıştım.


ls hedefklasor | wc -l
454

Yukarıdaki komut dizisi ls çıktısını | "pipe" komutundan sonra verilen wc -l parametresi ile sayısını döndürür.


ls -1 hedefklasor
-rw-r--r-- 1 huso huso 1510976 Jul 13 2008 FOTOSS001.jpg
...

Yukarıdaki komut dosyaları, sembolik linkleri ve yinelemesiz olarak alt dizinleri çıktı olarak verecektir.


Sadece dosyaların sayısını almak istiyorsanız


ls -l | grep ^- | wc -l

Sadece dizinlerin sayısını almak istiyorsanız


ls -l | grep ^d | wc -l

Sadece sembolik linklerin sayısını almak istiyorsanız


ls -l | grep ^l | wc -l 

Alternatif olarak aşağıdaki şekilde find komutuylada yapabilirsiniz.


Sadece dosyaların sayısını alır


find targetdir -maxdepth 1 -type f | wc -l

Sadece sembolik linklerin sayısını alır


find targetdir -follow  -maxdepth 1 -type f | wc -l 

Alt klasörlerle birlikte almak için aşağıdaki komut dizisini kullanabilirsiniz.


#for i in `ls -1b`; do c=`find $i -type f |wc -l`; echo "$c $i"; done; 
1 bad-blocks
1 baraction.sh
1 cikis.dat
130 Desktop
3 Documents
161 Downloads
1 dpkg-reconfigure-tzdata-europe.jpg
1 dpkg-reconfigure-tzdata-istanbul.jpg