Yanıtlar:
ls -F |grep -v / | wc -l
ls -F
tüm dosyaları listele ve göstergeyi (* / => @ |) girişlerden birine ekle grep -v /
do bütün de dizeleri tutmak değil bir çizgi içerirler wc -l
sayım çizgileriBunu dene
ls -al | grep ^[-] | wc -l
ls -al
- Uzun dosya formatı ile tüm dosyaları listelegrep ^[-]
- ls -al olan liste dosyası olduğunda normal dosyayı ifade eden sembol olan "-" ile başlayan dizgeyi arayın.wc -l
- sayım çizgileri-
tarafındanl
Sadece thom'un cevabını eklemek istiyorum çünkü Bash ile oynamayı seviyorum . İşte gidiyor:
echo "Directory $(pwd) has $(ls -F |grep -v / | wc -l) files"
Körük dizimin bir sonucudur /data
:
Directory /data has 580569 file(s).
Ve feryat benim açıklamalarım:
echo double-quoted-message
İstenilen bir mesajı yazdıracaktır.$(any-desirable-valid-command)
Bir ihale çift alıntı mesajı echo
içinde ilgili komut yürütme sonucunu yazdıracak.pwd
geçerli dizini yazdıracak.ls -F
tüm dosyaları listelemek içindir ve göstergeyi (* / => @ |) girişlerine ekleyin. Bunu, Thom'un cevabından kopyaladım .grep -v /
düz metin aramak için kullanılan bir komuttur; -v /
parametre, eğik çizgi içermeyen tüm dizeleri tutacaktır.wc -l
satır sayımı basacaktır.Bu sorunun 3 yaşında olduğunu biliyorum, başka bir cevap eklemek için dürtü tutamıyorum.
Belirli uzantılara sahip toplam dosya sayısını saymak için şunu yazabilirsiniz:
ls|grep jpg |wc -l