Celkový součet specifických souborů v adresáři

Jigdo

  • *****
  • 506
    • Zobrazit profil
Potrebuji spocitat kolik je celkove "VSECH" souboru
*.flac,*.mp3 a *.m4a"
v jedon adresari, ktery ma pres xxx podadresaru
a ty podadresare maji jeste svoje podpodadresare ........

Ty adresare obashuji i *.jpg, *.m3u8, *.pdf atd. a ty nepotrebuji ve vysledku...

Nevi nekdo jak na to z cli/bash?


ls -R -1 | grep -E 'mp3|wav'  | wc

* ls s parametry vylistuje i adresare a jednu polozku na radek
* grep ve vypisu hleda podslova mp3 a wav
* wc spocita pocet radku, slov, pismen

mhepp

  • ***
  • 159
    • Zobrazit profil
    • E-mail
find.

Kód: [Vybrat]
find -name "*.flac" -o -name "*.mp3" -o -name "*m4a" | wc -l

Chceš-li omezit hloubku prohledávání, přidej -maxdepth N jako první parametr.

RDa

  • *****
  • 2 687
    • Zobrazit profil
    • E-mail
Re:Celkový součet specifických souborů v adresáři
« Odpověď #3 kdy: Dnes v 13:16:58 »
Delal bych to takto:

Kód: [Vybrat]
$ find . -type f | grep -aiE '[.](flac|mp[34])$' | wc -l
96891

Protoze -a (ascii) matchne i spatny codepage v nazvu (musim to fixnout nekdy)
Protoze -i matchne i pripadny uppercase extension, pokud to tam natahli widle

U findu by mohlo byt zajimavejsi "files larger than X" a pak ten grep naopak (s -v) - at zjistite zda je tam jeste neco zajimaveho za pripony.