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 03:55 | Bezpečnostní upozornění

    Příspěvek na blogu Ubuntu upozorňuje na několik zranitelností v rozšíření Linuxu o mandatorní řízení přístupu AppArmor. Společně jsou označovány jako CrackArmor. Objevila je společnost Qualys (technické detaily). Neprivilegovaný lokální uživatel se může stát rootem. Chyba existuje od roku 2017. Doporučuje se okamžitá aktualizace. Problém se týká Ubuntu, Debianu nebo SUSE. Red Hat nebo Fedora pro mandatorní řízení přístupu používají SELinux.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána nová verze 19 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 03:44 | Nová verze

    Bitwig Studio (Wikipedie) bylo vydáno ve verzi 6. Jedná se o proprietární multiplatformní (macOS, Windows, Linux) digitální pracovní stanici pro práci s audiem (DAW).

    Ladislav Hagara | Komentářů: 2
    včera 02:11 | Komunita

    Společnost Igalia představila novou linuxovou distribuci (framework) s názvem Moonforge. Jedná se o distribuci určenou pro vestavěné systémy. Vychází z projektů Yocto a OpenEmbedded.

    Ladislav Hagara | Komentářů: 0
    včera 00:44 | Nová verze

    Google Chrome 146 byl prohlášen za stabilní. Nejnovější stabilní verze 146.0.7680.71 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 29 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 00:22 | Nová verze

    D7VK byl vydán ve verzi 1.5. Jedná se o fork DXVK implementující překlad volání Direct3D 3 (novinka), 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 0
    11.3. 23:22 | Nová verze

    Bylo vydáno Eclipse IDE 2026-03 aneb Eclipse 4.39. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 4
    11.3. 10:22 | Upozornění

    Ze systému Slavia pojišťovny uniklo přibližně 150 gigabajtů citlivých dat. Jedná se například o pojistné dokumenty, lékařské záznamy nebo přímou komunikaci s klienty. Za únik může chyba dodavatelské společnosti.

    Ladislav Hagara | Komentářů: 11
    11.3. 10:11 | IT novinky

    Sněmovna propustila do dalšího kola projednávání vládní návrh zákona o digitální ekonomice, který má přinést bezpečnější on-line prostředí. Reaguje na evropské nařízení DSA o digitálních službách a upravuje třeba pravidla pro on-line tržiště nebo sociální sítě a má i víc chránit děti.

    Ladislav Hagara | Komentářů: 34
    11.3. 09:33 | IT novinky

    Meta převezme sociální síť pro umělou inteligenci (AI) Moltbook. Tvůrci Moltbooku – Matt Schlicht a Ben Parr – se díky dohodě stanou součástí Meta Superintelligence Labs (MSL). Meta MSL založila s cílem sjednotit své aktivity na poli AI a vyvinout takovou umělou inteligenci, která překoná lidské schopnosti v mnoha oblastech. Fungovat by měla ne jako centralizovaný nástroj, ale jako osobní asistent pro každého uživatele.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (7%)
     (0%)
     (11%)
     (29%)
     (2%)
     (5%)
     (2%)
     (13%)
     (25%)
    Celkem 1059 hlasů
     Komentářů: 26, poslední včera 08:56
    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: 771×
    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.