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 12:11 | IT novinky

    Před 30 lety, tj. v úterý 30. dubna 1996, byl spuštěn Seznam.cz.

    Ladislav Hagara | Komentářů: 0
    dnes 11:44 | Komunita

    Byly zpracovány a zveřejněny všechny videozáznamy, které stojí za zveřejnění, z konference FOSDEM 2026.

    Ladislav Hagara | Komentářů: 0
    dnes 01:11 | IT novinky

    Od úterý 28. dubna musí nově uváděné notebooky v Evropské unii podporovat nabíjení přes USB-C. Jednotná nabíječka byla schválena Evropským parlamentem v říjnu 2022.

    Ladislav Hagara | Komentářů: 51
    včera 23:44 | Bezpečnostní upozornění

    Byly publikovány informace o kritické zranitelnosti CVE-2026-31431 pojmenované Copy Fail v Linuxu, konkrétně v kryptografii (AF_ALG). Běžný uživatel může získat práva roota (lokální eskalaci práv). Na všech distribucích Linuxu vydaných od roku 2017. Pomocí 732bajtového skriptu. V upstreamu je již opraveno. Zranitelnost byla nalezena pomocí AI Xint Code.

    Ladislav Hagara | Komentářů: 3
    včera 17:44 | Nová verze

    Textový editor Zed dospěl do verze 1.0. Představení v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Komunita

    Vývojáři svobodného 3D softwaru Blender představili (𝕏, Mastodon, Bluesky) nejnovějšího firemního sponzora Blenderu. Je ním společnost Anthropic stojící za AI Claude a úroveň sponzoringu je Patron, tj. minimálně 240 tisíc eur ročně. Anthropic oznámil sponzorství v tiskové zprávě Claude for Creative Work.

    Ladislav Hagara | Komentářů: 7
    včera 03:55 | Nová verze

    VNC server wayvnc pro Wayland kompozitory postavené nad wlroots - ne GNOME, KDE nebo Weston - byl vydán ve verzi 0.10.0. Vydána byla také verze 1.0.0 související knihovny neatvnc.

    Ladislav Hagara | Komentářů: 0
    28.4. 16:22 | Nová verze

    Bylo oznámeno vydání Fedora Linuxu 44. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora IoT pro internet věcí, Fedora Cloud pro cloudové nasazení a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách

    … více »
    Ladislav Hagara | Komentářů: 7
    28.4. 15:44 | Zajímavý článek

    David Malcolm se na blogu vývojářů Red Hatu rozepsal o vybraných novinkách v GCC 16, jež by mělo vyjít v nejbližších dnech. Vypíchnuta jsou vylepšení čitelnosti chybových zpráv v C++, aktualizovaný SARIF (Static Analysis Results Interchange Format) výstup a nová volba experimental-html v HTML výstupu.

    Ladislav Hagara | Komentářů: 0
    28.4. 15:11 | Nová verze

    Byla vydána verze R14.1.6 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (2%)
     (13%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (24%)
    Celkem 1464 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Jednoduchy hledac, ktery ale efunguje

    14.7.2008 11:42 drtic_cz | skóre: 5 | blog: drtic
    Jednoduchy hledac, ktery ale efunguje
    Přečteno: 774×
    Zdravim, mam opet sriptovaci dodaz - delam tadu tuhle zver, abych mohl zjistit, ktere podadresare adresare "stroom" neobsahuji soubory s priponout mp3 . Tenhle me napadl, jakor prvni, lec na vystupu vypisuje prave uplne vsechny podadresarene, dokonce i kdyz dam echo $mp3 misto echo$i nakonec....

    for i in "`ls //f/strom`"; do mp3=`ls //f/strom/"$i" |grep -c mp3` if [ "$mp3" == "0" ] then echo "$i" fi; done

    Tusi nekdo, kde se deje chyba? (Mozna je to zbytecne slozity, ale stejne me zajima, kde jsem udelal chybu... Diky! Spoustim to pod win-bashem, proto ty divne cesty, nicmene stejne se to chova i na linuxu s linuxovymi cestami...
    Arch Linux!

    Odpovědi

    Viliam Púčik avatar 14.7.2008 12:20 Viliam Púčik | skóre: 22 | blog: minimal
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    Mozno zafunguje toto:
    for i in $(ls //f/strom); do mp3=$(ls //f/strom/"${i}" |grep -c mp3); if [ "$mp3" == "0" ]; then echo "$i"; fi; done
    
    14.7.2008 14:06 drtic_cz | skóre: 5 | blog: drtic
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    To same, jako puvodni. Problem je v tom, ze puvodne i muj script se choval stejne, jako tenhle - nedokaze ale vylistovat napr. adresar, ktery ma v nazvu mezeru. Proto jsem dal puvodni promennou do uvozovek a to zrejme zpusobilo, ze ji nejakym zpusobem spatne interpretuje. Jenze nemuzu prijit na to, kde je chyba :(
    Arch Linux!
    Viliam Púčik avatar 14.7.2008 15:56 Viliam Púčik | skóre: 22 | blog: minimal
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    Chyba v povodnom skripte je hned na zaciatku, do premennej i sa nevkladaju cele nazvy adresarov, len ich casti oddelene medzerami :-(, toto by to hadam pomohlo:
    ls -1 //f/strom | while read adresar; do mp3=$(ls //f/strom/"${adresar}" | grep -c mp3); if [ "$mp3" == "0" ]; then echo ${adresar}; fi done
    
    14.7.2008 12:30 Jan Šimák | skóre: 37 | Hradec Králové
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    Já bych podadresáře hledal takto:
    for i in `find /f/strom/ \! -name '*.mp3'`; do
    	echo ${i%/*}
    done
    14.7.2008 13:36 Jan Šimák | skóre: 37 | Hradec Králové
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    toto je blbost, prosím ignorovat
    14.7.2008 14:02 drtic_cz | skóre: 5 | blog: drtic
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    no, to mi nefunguje vubec, a navic se mi to zrovnatak nezda...
    Arch Linux!
    14.7.2008 15:30 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    Problem v tvym vyrazu je, ze kdykoliv neco prevedes na standartni vystup, tak se strati informace o "mezerach v textu" a jsou z toho oddelovace. Proto bych zkusil misto ls normalni hvezdickovou konvenci (oprava tvyho vyrazu):
    for i in //f/strom/*; do mp3=`ls "$i" |grep -c mp3`; if [ "$mp3" == "0" ]; then echo "$i"; fi; done
    Nebo dalsi varianta (takhle bych to napsal asi ja):
    for i in //f/strom/*; do (cd "$i"; ls *.mp3 1>/dev/null 2>&1 || echo "$i"); done
    14.7.2008 15:57 drtic_cz | skóre: 5 | blog: drtic
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    Jo, to s hvezdickou me napadlo taky, ale zkus si dat echo $i - porad to dokola to prirazuje za i "//f/strom/*" :)
    Arch Linux!
    14.7.2008 16:25 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    To
    //f/strom/*
    nesmi byt v uvozovkach. Dalsi moznost je ze adresar //f/strom/ je prazdny (pak to nahradi puvodnim vyrazem - //f/strom/*). Jinak kdyz to zkusim:
    chocholj@cz995891 ~ $ ls -R ~/tmp/b1 -w 1
    /home/chocholj/tmp/b1:
    a b
    c d
    e f g
    
    /home/chocholj/tmp/b1/a b:
    q w.mp3
    
    /home/chocholj/tmp/b1/c d:
    
    /home/chocholj/tmp/b1/e f g:
    chocholj@cz995891 ~ $  for i in ~/tmp/b1/*; do mp3=`ls "$i" |grep -c mp3`; if [ "$mp3" == "0" ]; then echo "$i"; fi; done
    /home/chocholj/tmp/b1/c d
    /home/chocholj/tmp/b1/e f g
    
    Tak se to chava snad podle ocekavani.
    15.7.2008 16:28 drtic_cz | skóre: 5 | blog: drtic
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    V uvozovkach nebyl, jen jsem mu spatne interpretoval cestu...z nejakyho duvodu bash pod win nerozeznava nektere absolutni cesty, kdyz ma pracovni adresar na jinem disku... Kazdopadne moc diky - VYRESENO :)
    Arch Linux!
    14.7.2008 15:30 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    Tento skriptík
    #!/usr/bin/python
    import os
    for root, dirs, files in os.walk('.'):
        for filename in files:
            if filename.lower().endswith('.mp3'):
                break
        else:
            print root
    
    1. správně zachází s cestami, i když obsahují mezery, diakritiku, čárky, dolary atd.
    2. běží rychleji než find + xargs + zpracování v shellu
    3. poběží beze změny kódu na linuxu stejně jako na windows
    4. názvy adresářů netestuje, tj. nenechá se zblbnout, jestliže _adresář_ obsahuje koncovku mp3
    5. pracuje rekurzivně (což možná nechceš)
    14.7.2008 21:16 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    Souhlas, pokud nebude chtit, aby to jelo rekurzivne, tak staci misto walk pouzit listdir. Takze no problem ;-)
    22.7.2008 15:20 drtic_cz | skóre: 5 | blog: drtic
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    Python je urcite super, bohuzel ho neovladam :( Mozna casem .-)
    Arch Linux!
    14.7.2008 15:36 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    Vypisem si kazdy adresar a adresar kazdeho mp3 suboru. Adresar, ktory sa v zjednoteni tych dvoch vypisov objavi prave raz neobsahuje ziadnu mp3-ku.

    Ak je problem, ze to pracuje rekurzivne, tak obom findom treba pridat switch -maxdepth 1
    ( find -type d ; find | sed -n '/\.mp3$/s;/[^/]*$;;p' ) | sort | uniq -c | grep '^[[:space:]]*1 '
    If you hold a Unix shell up to your ear, you can you hear the C.
    22.7.2008 15:44 drtic_cz | skóre: 5 | blog: drtic
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    Tak vypis se udelat podarilo, mam soubor se seznamem adresaru. Ted jsem se k tomu vratil a potrebuju v nich dopocitat mp3.. Problemem zrejme bude verze Bashe, kterou jsem nesehnal pod windows vyssi, nez 2.03. Takze: cd //f for i in `cat missing.txt`; do for m in ls `ls $i`; do echo $m; done; done Muzu takhle zaloopovat dve for do sebe? Pac mi to vypisuje ": No such file or directory"... Kdyz misto `ls $i` dam $i/*, nahradi to prvni dva znaky v ceste "/*" ...je to nejaka vlastnost starsiho bashe, musi se na nej jinak?
    Arch Linux!
    22.7.2008 18:45 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    Zkuste
    cd /f
    <missing.txt while read dirname; do
      echo "dirname: $dirname"
      for filename in `ls $dirname`; do
        echo "filename: $filename";
      done;
    done
    a pro blok textu používejte značku pre i když ten code láká víc.
    23.7.2008 18:06 drtic_cz | skóre: 5 | blog: drtic
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    syntax error :/ asi se naucim scriptovat v perlu...
    Arch Linux!
    Tarmaq avatar 23.7.2008 18:21 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    v perlu ci v bashi?
    Don't panic!
    24.7.2008 16:43 drtic_cz | skóre: 5 | blog: drtic
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    Vyreseno. Pripojil jsem windowsi partitionu k linuxovemu stroji a scriptiky bezi bez problemu tam. Problem byl proste ve windowsi implementaci bashe, kde se proste nektere prikazy nevykonavaly, jak mely.... :/
    Arch Linux!
    Tarmaq avatar 24.7.2008 17:08 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    btw co myslis tim win-bash ? nejakej cygwin ci co?
    Don't panic!
    24.7.2008 20:55 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    Nie. Bash z MSYSu, problem je, ze je vo verzii 2.x a nie 3.x ako je uz roky na Linuxe. Takze nefunguje napr porovnanie =~ v [[ ]] a niektore dalsie ficury z 3.x.
    If you hold a Unix shell up to your ear, you can you hear the C.
    2.8.2008 19:16 drtic_cz | skóre: 5 | blog: drtic
    Rozbalit Rozbalit vše Re: Jednoduchy hledac, ktery ale efunguje
    Presne tak... http://www.steve.org.uk/Software/bash/
    Arch Linux!

    Založit nové vláknoNahoru

    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.