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í
×
    včera 15:33 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.8.

    Ladislav Hagara | Komentářů: 3
    včera 14:22 | IT novinky

    Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | IT novinky

    Operátor O2 má opět problémy. Jako omluvu za pondělní zhoršenou dostupnost služeb dal všem zákazníkům poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství.

    Ladislav Hagara | Komentářů: 6
    včera 05:55 | IT novinky

    Společnost OpenAI představila GPT-5 (YouTube).

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

    Byla vydána (𝕏) červencová aktualizace aneb nová verze 1.103 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.103 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    7.8. 17:33 | IT novinky

    Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.

    Ladislav Hagara | Komentářů: 8
    7.8. 16:55 | Nová verze

    Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    7.8. 16:44 | Nová verze

    Byla vydána verze 1.89.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    7.8. 12:22 | IT novinky

    Americká technologická společnost Apple uskuteční v USA další investice ve výši sta miliard dolarů (2,1 bilionu korun). Oznámil to ve středu šéf firmy Tim Cook při setkání v Bílém domě s americkým prezidentem Donaldem Trumpem. Trump zároveň oznámil záměr zavést stoprocentní clo na polovodiče z dovozu.

    Ladislav Hagara | Komentářů: 5
    7.8. 04:55 | Nová verze

    Zálohovací server Proxmox Backup Server byl vydán v nové stabilní verzi 4.0. Založen je na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (47%)
     (21%)
     (4%)
     (5%)
     (3%)
     (1%)
     (1%)
     (18%)
    Celkem 315 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník

    Dotaz: BASH: find

    15.2.2006 18:15 h7
    BASH: find
    Přečteno: 1369×
    Ahoj, snazim se napsat skrip ,ktery prochazi vetsi mnozstvi souboru (cca 4M) ,ty rozparsuje a na zaklade vysledku provede urcite akce.

    Zatim mam reseni ,kdy "hloupe" vylistuji pomoci find soubory do txt a az v druhem kroku nactu soubory z txt a aplikuji na ne prikazy atd...

    Dotaz: jak mam nacpat vice konstukci typu IF ELSE atd.. a prikazu za find -exec ??

    ...nejradeji bych pouzil vlastni bash funkce ,ale nevim jak na to.

    ps: findu se nechci zbavit kvuli jeho parametrizaci a odolnosti ,ale precijenom nemate nekdo napsany odolny find v bashi?

    Diky moc za kazdou radu

    Řešení dotazu:


    Odpovědi

    15.2.2006 19:35 azurIt | skóre: 34 | blog: zatial_bez_mena
    Rozbalit Rozbalit vše Re: BASH: find
    necham sice uplne presne co chces ale mozno je to prave nieco taketo:
    for i in `find .`
    do
      tu aplikujes tie prikazy na subory
    done
    
    15.2.2006 19:36 azurIt | skóre: 34 | blog: zatial_bez_mena
    Rozbalit Rozbalit vše Re: BASH: find
    necham == nechapem
    Řešení 1× (Tomáš Glabasňa)
    15.2.2006 21:39 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše Re: BASH: find
    ten for je pěkně na (cenzurováno)

    lepší (a narozdíl od for i funkční) je použít
    find a jeho parametry | while read prom; do
     echo "tady si delej co chces s $prom"
    done
    
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    Josef Kufner avatar 15.2.2006 21:56 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: BASH: find
    mno, tomu bych taky nevěřil...
    find ... -print0 | xargs -0 neco
    Pokud je potřeba dělat nějaké složitější akce, tak si napiš skript, který tu akci udělá na souborech, které se mu předají jako parametr a timhle to pak spust.
    Hello world ! Segmentation fault (core dumped)
    15.2.2006 21:59 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše Re: BASH: find
    mno, tomu bych taky nevěřil...

    čemu nevěříš? Pokud chce na každý soubor aplikovat nějaká pravidla, tak mi tohle připadá lepší než spouštění zvláštního skriptu.
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    16.2.2006 01:00 azurIt | skóre: 34 | blog: zatial_bez_mena
    Rozbalit Rozbalit vše Re: BASH: find
    nejednalo sa o kvalitu ale o napad..
    15.2.2006 21:43 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: BASH: find
    find www/ -type f -perm 600 -exec 'chmod -c 755 {}' \;

    Projeď adresář www a na všechny soubory co mají právo čtení a zápisu pouze pro vlastníka aplikuj příkaz chmod s následujícími parametry.

    Jinak poradím jen jedno. Hledej šmudlo a koukni se taky na http://cs.wikibooks.org/wiki/Linux

    Josef Kufner avatar 15.2.2006 21:57 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: BASH: find
    To je ukrutně pomalé...
    Hello world ! Segmentation fault (core dumped)
    15.2.2006 22:16 h7
    Rozbalit Rozbalit vše Re: BASH: find
    Diky moc za rady. Vase reseni pracuji takto: find najde vsechny soubory a na ty se potom aplikuje sada prikazu. Ja potrebuji v okamziku,kdy najdu urcity soubor ihned na nej aplikovat ma pravidla. Ano ,muzu si napsat druhy skript a ten potom spoustet pomoci -exec ,ale to neni ono. Nejradeji bych obsah tohoto skriptu vypsal nejak za -exec ,ale jak? h7
    David Watzke avatar 15.2.2006 22:29 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: BASH: find
    Ne, ne... s while read F to provádí hned jakmile je najde..
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    16.2.2006 08:33 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: BASH: find
    No to bych tak s určitostí netvrdil. Spíš bych sázel na to, že se to začne provádět nejpozději, když je toho tolik, co zaplní blok jádra (buffer pipe). To je standardně 4kB. Nicméně, z toho co tu zaznělo bych to řešení považoval za jedno z nejlepších. Zbytečně se neforkuje jako při použití -exec. Nicméně si napsat vlastní script, který ale nebude pracovat s jedním souborem, ale pomocí shift (nebo for i; do ...; done) postupně zpracuje všechny parametry a použít ... -print0 | xargs -0 ... taky není vůbec špatný nápad (nicméně o chlup pomalejší než find | while read; do ... done). Nicméně pokud jde fakt o rychlost, tak bych použil třeba perl a File::Find.

    P.S.: Debilky jako Azurit, kteří jen tak plácnou úplnou kravinu a pak to omlouvají tím, že to byl jen takový návrh radši vůbec nečti. To je vidět na první pohled, že pár miliónů souborů vživotě nespracovával a o fungování for i in `find` ví méně než nic (původně hovno).
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    16.2.2006 08:39 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: BASH: find
    Jo, úplně bych zapoměl, gnu find má od nějaké verze možnost za -exec místo \; napsat + a to se pak chová jako -print0 | xargs -0
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    19.2.2006 17:04 Undefined | skóre: 6
    Rozbalit Rozbalit vše Re: BASH: find
    RE R.S.: To je sice pekny, ale kdyby tu meli odpovidat jenom naprosty odbornici, tak bych se dockal odpovedi na svuj dotaz tak za 5 let... nemuzu soudit jestli to je debilek nebo neni, ale aspon se snazil...tak mu nenadavej...ju ;-)
    20.2.2006 12:14 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: BASH: find
    RE R.S.: To je sice pekny, ale kdyby tu meli odpovidat jenom naprosty odbornici, tak bych se dockal odpovedi na svuj dotaz tak za 5 let...
    Ničím nepodložená spekulace.
    nemuzu soudit jestli to je debilek nebo neni, ale aspon se snazil...
    Ne, nesnažil se. Jen tak plácnul první blobost co ho napadla. Kdyby ti poradil rm -rf /, tak budeš patrně taky šťastnej jak blecha.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    Stanislav Brabec avatar 20.2.2006 16:41 Stanislav Brabec | skóre: 45 | Praha
    Rozbalit Rozbalit vše find v bashi
    Základ pro find v bashi vypadá nějak takto:
    # bash_find cesta action ...
    # bude volat action ... soubor
    shopt -s nullglob
    shopt -s dotglob
    function bash_find {
        local item
        local path="$1"
        shift
        if test -d "$path" ; then
            for item in "$path/"* ; do
                bash_find "$item" "$@"
            done
        else
            "$@" "$path"
        fi
    }
    

    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.