abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 13:00 | Zajímavý článek

    Vývojáři Knot Resolver vysvětlují, jak změnili rozhodování o tom, které DNS záznamy ponechat v cache a které odstranit. Článek obsahuje skutečná měření: devět hodin DNS provozu při 2 000 QPS, srovnání cache o velikosti 25 MB a 40 GB a také porovnání s BIND 9, kromě algoritmů obsahuje konkrétní doporučení pro konfiguraci a diagnostiku.

    vencour | Komentářů: 0
    včera 13:44 | IT novinky

    Největší kryptoměnová burza světa Binance se stala terčem útoku, při kterém podvodníci odcizili během několika minut kryptoměny v hodnotě přibližně 6,3 miliardy dolarů. Jedná se o největší kryptoměnovou krádež v historii, přibližně čtyřikrát větší než loňský útok na burzu Bybit. Binance se podařilo ve spolupráci s partnery zmrazit aspoň aktiva v hodnotě zhruba 3 miliard dolarů a slíbila, že veškeré ztráty pokryje z vlastních prostředků.

    Ladislav Hagara | Komentářů: 15
    včera 02:16 | Bezpečnostní upozornění

    Zranitelnost CVE-2026-98432 s CVSS 9.8 odhalila AI od společnosti Anthropic. Jedná se o kritickou chybu v implementaci MPTCP (multipath TCP). Debian vydal patche 16.10. a 22.10., ale např. Ubuntu je zatím bez opravy. Více informací na The Hacker News.

    Max | Komentářů: 20
    29.10. 23:22 | Zajímavý software

    Na Slovensku vznikla úplne nová rally hra, ktorá je zadarmo a funguje vo Windowse, Linuxe či na Macu. Greenie Rally má viac ako 50 tratí a vozidiel, šampionáty či turnaje. Má retro feeling a imituje automobilové hry z prelomu tisícročí. Vyskúšate prejsť všetky mapy na Škode 130RS?

    Stanislav Hoferek | Komentářů: 6
    29.10. 14:33 | Komunita

    Do základního systému NetBSD -current byl přidán nový editor atto jako alternativa k editorům vi a xedit.

    Ladislav Hagara | Komentářů: 1
    29.10. 14:11 | IT novinky

    Společnost System76 představila kompaktní 11litrový Thelio Prime Desktop. S procesorem AMD Ryzen 9000. S Pop!_OS 24.04 LTS s desktopovým prostředím COSMIC nebo Ubuntu 24.04 LTS.

    Ladislav Hagara | Komentářů: 0
    29.10. 13:44 | Humor

    Čínská státní televize pozastavila vysílání španělské La Ligy a čínské internetové platformy omezily obsah s Kylianem Mbappém poté, co slavný fotbalista ve francouzském pořadu The Bridge mluvil o svém oblíbeném memu, v němž je jeho tvář vložena do portrétu zobrazujícího diktátora Mao Ce-tunga. 'Můj oblíbený mem je ten, na kterém dali můj obličej na čínského diktátora. To mě opravdu rozesmívá. S přáteli ho používám pořád' řekl,

    … více »
    Pendrekama do nich❗ | Komentářů: 13
    29.10. 13:22 | IT novinky

    Při příležitosti oslav Dne vzniku samostatného československého státu (28. října) byly uděleny medaile Za zásluhy tvůrci aplikace Záchranka Filipu Maleňákovi, vědci v oblasti umělé inteligence Tomáši Mikolovovi a Olze Štěpánkové, vědkyni zabývající se kybernetikou, robotikou a strojovým učením, průkopnici v oblastech výuky a využití umělé inteligence v medicínském inženýrství.

    Pendrekama do nich❗ | Komentářů: 8
    29.10. 01:33 | IT novinky

    Apple představil nový iPad mini, iMac s čipem M6, 14palcový MacBook Pro s čipem M6 a MacBook Pro s PROLED XDR displejem – první Mac s dotykovým ovládáním.

    Ladislav Hagara | Komentářů: 5
    28.10. 23:22 | Zajímavý projekt

    Nedávno představený projekt mapSTL.com řeší budoucnost. 𝕏: "Netušil jsem, kolik patentů na generování map existuje. Existují patenty na generování fantasy map 🫣. Cokoliv je na 3D tiskárnu a tvoří to produkt, bude to mít patenty. Tak bacha na to!" … více »

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2952 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Jak rekurzivně spočítat všechny položky v adresáři.

    6.2.2019 10:52 ferda
    Jak rekurzivně spočítat všechny položky v adresáři.
    Přečteno: 583×
    Ahoj, Potřebuji rekurzivně spočítat všechny položky v adresáři a našel jsem tohle. Nejde to prosím napsat tak, aby to prohledával jen jednou?

    d=$(find . -type d | wc -l)
    f=$(find . -type f | wc -l)
    echo "There are $d directories and $f files"

    Odpovědi

    6.2.2019 11:12 ondrejd
    Rozbalit Rozbalit vše Re: Jak rekurzivně spočítat všechny položky v adresáři.
    6.2.2019 11:16 ferda
    Rozbalit Rozbalit vše Re: Jak rekurzivně spočítat všechny položky v adresáři.
    Moc děkuji.
    6.2.2019 12:56 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Jak rekurzivně spočítat všechny položky v adresáři.

    Účelem domácího úkolu je, aby se nad ním student sám zamyslel, ne aby se na něj anonymně ptal na ABCLinuxu. :-(

    Zpět k tématu: Jde to dokonce i bez jakýchkoliv externích procesů (ls, find), pouze pomocí Bashe. Jediné, na co je třeba si dát pozor, je zvláštní chování find k symlinkům. Implicitně (-P) je nenásleduje (což se dá změnit pomocí -L), zatímco Bash při testování cest symlinky vždy následuje, jinými slovy, máme-li symlink na soubor, [[ -f symlink ]] i [[ -L symlink ]] uspějí.

    Pokud tohle^^^ vezmeme v potaz, tady je implementace jen pomocí Bashe a ničeho jiného:

    rlist() {
      local -r dir="$1"
      local -i files=0
      local -i dirs=1
      local -i links=0
      local -i other=0
      local -a -i rec
      local item
      for item in "${dir}/"{,.[^.],..?}*; do
        if [[ -L "$item" ]]; then
          ((++links))
        elif [[ -f "$item" ]]; then
          ((++files))
        elif [[ -d "$item" ]]; then
          rec=($(rlist "$item"))
          files+=rec[0]
          dirs+=rec[1]
          links+=rec[2]
          other+=rec[3]
        elif [[ -e "$item" ]]; then
          ((++other))
        fi
      done
      echo "$files" "$dirs" "$links" "$other"
    }
    
    count() {
      local -a -i -r rec=($(rlist "$1"))
      echo "There are ${rec[1]} directories" \
           "and ${rec[0]} files" \
           "and ${rec[2]} symlinks" \
           "and ${rec[3]} other inodes."
    }
    

    Příklad: count /můj/adresář

    Implementace ekvivalentu find -L by byla jednoduší; stačilo by odstranit větev a proměnnou pro symlinky.

    6.2.2019 13:45 NN
    Rozbalit Rozbalit vše Re: Jak rekurzivně spočítat všechny položky v adresáři.
    No to je sice fajn, ze to zvladnes ciste v bashi Andreji, ale pokud tazatel resi problem na urovni "hledani na internetu", je uplne jedno jestli je to ukol nebo neni, tak to naopak jen odradi od dalsiho usili a snazeni..
    6.2.2019 14:01 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Jak rekurzivně spočítat všechny položky v adresáři.
    …je uplne jedno jestli je to ukol nebo neni, tak to naopak jen odradi od dalsiho usili a snazeni..
    Pokud někdo není ochoten věnovat tomu aby se něco naučil trochu toho úsilí a snažení, tak bude jen dobře když skončí u OS, kde si za svou lenost zaplatí.
    6.2.2019 14:43 .
    Rozbalit Rozbalit vše Re: Jak rekurzivně spočítat všechny položky v adresáři.
    Jinak zdravej?
    6.2.2019 14:46 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Jak rekurzivně spočítat všechny položky v adresáři.
    Nestěžuji si. Děkuji za optání. Po vás taky žádná sháňka nebude.
    6.2.2019 21:07 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Jak rekurzivně spočítat všechny položky v adresáři.
    1. O jakém úsilí a snažení je řeč? Žádné jsem na straně tazatele nezaznamenal — snad kromě toho, že některé své dotazy duplikuje v poradně na lživě.cz.
    2. Proč by mě mělo jakkoliv znepokojovat, že tohle někoho odradí? Popsal jsem řešení, které podle mého mínění splňuje zadání (jeden průchod) a funguje. Dokonce jsem — kromě postesknutí nad domácím úkolem „řeseným“ v poradně — tentokrát udržel svou obvyklou aroganci celkem na uzdě. Pokud mé řešení samo od sebe někoho odradí od „snažení“, možná pro takového člověka není informatika / IT správná volba.

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.