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 23:33 | Nová verze

    Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Zajímavý projekt

    TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.

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

    Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.

    Ladislav Hagara | Komentářů: 1
    27.4. 21:33 | Nová verze Ladislav Hagara | Komentářů: 0
    26.4. 23:00 | Komunita

    V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.

    Ladislav Hagara | Komentářů: 0
    26.4. 20:22 | Zajímavý článek

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    26.4. 15:22 | Zajímavý projekt

    Berkeley Humanoid Lite (Onshape, GitHub) je open source humanoidní robot. V amerických cenách jej lze sestavit do 5000 dolarů.

    Ladislav Hagara | Komentářů: 13
    25.4. 18:44 | Nová verze

    Jakub Jelínek oznámil vydání verze 15.1 (15.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 15. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 4
    25.4. 03:55 | Komunita

    Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Staronovým vedoucím zůstává Andreas Tille.

    Ladislav Hagara | Komentářů: 37
    24.4. 16:55 | IT novinky

    Jason Citron končí jako CEO Discordu. Od pondělí 28. dubna nastupuje nový CEO Humam Sakhnini, bývalý CSO Activision Blizzard.

    Ladislav Hagara | Komentářů: 7
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (9%)
     (21%)
     (4%)
     (1%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 476 hlasů
     Komentářů: 18, poslední 17.4. 12:41
    Rozcestník

    Dotaz: Skript pro změnu obsahu souboru

    12.3.2006 20:29 beginner
    Skript pro změnu obsahu souboru
    Přečteno: 153×
    Jsem začátečník co se týče skriptů. Párkrát jsem jich několik udělal pro důkladném prostudování a probrouzdání internetem. Ovšem nevím, jak udělat skript, který by automaticky prohledal určitý adresář, našel všechny soubory s příponou .conf a ve všech zkontroloval, zda v nich je určitý řetězec např.:

    <nastaveni>
    neco=necemu
    </nastaveni>

    pokud by tam nebyl, doplnil by ho a pokud by tam napriklad misto necemu bylo nicemu, nahradil by to na necemu. Neví někdo jak toto udělat příp. odkaz na nějakou web stránku, kde se tohle řeší?

    Odpovědi

    12.3.2006 20:37 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše Re: Skript pro změnu obsahu souboru
    Nejlepší je, když se začneš učit základy programování/skriptování. Pokud se chceš učit třeba v shellu (Bashi) tak si najdi BASH Programming - Introduction HOW-TO a Advanced Bash-Scripting Guide.

    Zkus si ten svůj problém rozebrat na nejmenší možné úlohy a ty vyřeš. Když se na něčem konkrétním zarazíš a nenajdeš na internetu/v dokumentaci pomoc, tak se zeptej tady v diskuzi. Pokládej konkrétní otázky, pokud možno i s popisem co je cílem, co už máš hotové a případně i vzorkem toho co nefunguje. Rozhodně nechtěj aby místo tebe někdo napsal celý skript.
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    12.3.2006 21:08 beginner
    Rozbalit Rozbalit vše Re: Skript pro změnu obsahu souboru
    No konkrétně nevim jak nahradit nějaký konkrétní text jiným.
    12.3.2006 21:18 beginner
    Rozbalit Rozbalit vše Re: Skript pro změnu obsahu souboru
    už jsem na to přišel
    12.3.2006 21:24 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
    Rozbalit Rozbalit vše Re: Skript pro změnu obsahu souboru
    no, obecne reseni html(xml) pres konzolové nástroje je hodně obtížný úkol a já osobně se do toho pouštím obvykle jen velice nerad.

    co se nahrazování textu týče, pro tento případ bude asi nejlepší sed:
    cat soubor | sed "s/co nahradit/cim nahradit/g" > soubor.new
    
    neboli
    for file in *.html; do
        cat $file | sed "s/co \(nahradit\)/cim \1/g" >> file.new
        mv $file $file-zaloha
        mv $file.new $file
    done
    
    zajímavou možností je awk:
    echo "co to je" | awk '{print "$1 $3 $2\n"}'
    
    a to je v podstate cele o tech slonech...
    12.3.2006 21:35 beginner
    Rozbalit Rozbalit vše Re: Skript pro změnu obsahu souboru
    Děkuji, zjistil jsem, že sem na to stejně nepřišel, problém je, jak nahradit několik po sobě jdoucích řádků jinými, nejenom jedno slovo např.:

    prvni radek/ze trech
    druhy radek, aby to ignorovalo znaky +*-/
    treti


    nahradilo treba


    upraveny prvni
    i druhy
    i treti
    14.3.2006 08:39 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Skript pro změnu obsahu souboru
    Fuj. Tohle po základním přečtení TFM by střízlivý člověk napsal jako
    for file in *.html; do
        sed -i-zaloha -e "s/co \(nahradit\)/cim \1/g" $file
    done
    A pokud chce prohledat ten adresář i s podadresáři tak
    find -name '*.html' -print0 | xargs -0 sed -i-zaloha -e "s/co \(nahradit\)/cim \1/g"
    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é.
    13.3.2006 14:58 beginner
    Rozbalit Rozbalit vše Re: Skript pro změnu obsahu souboru
    Jde to vubec nejak?
    13.3.2006 22:33 beginner
    Rozbalit Rozbalit vše Re: Skript pro změnu obsahu souboru
    Jo a taky je pro mne zahadou, jak tam vpravit znaky jako */$+ ...
    14.3.2006 08:43 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Skript pro změnu obsahu souboru
    Otázka zní co a kam. Podrobněji specifikovat by to chtělo. Třeba pokud chci slovo ahoj nahradit */$+ tak to udělám úplně jednoduše
    echo 'Stačí říct ahoj a je ahoj uděláno' | sed 's/ahoj/\*\/$\+/g'
    RTFM
    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é.
    14.3.2006 11:29 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Skript pro změnu obsahu souboru
    Vždyť to není vůbec problém. Například v sedu to jde udělat takto. Osobně bych ale raději použit třeba perl :-)
    find -name '*.conf' -print0 |
    xargs -0 sed -i.bak -e '/<nastaveni>/,/<\/nastaveni>/{
      /^neco/s/=.*/=necemu/;Ta;h
      :a
      /<\/nasaveni>/{
        x;s/^neco//;x;t
        h;ineco=necemu
      }
    }
    ${
      x;s/^$//;x;T;a<nastaveni>\
      neco=necemu\
    </nastaveni>
    }'
    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é.
    14.3.2006 11:39 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Skript pro změnu obsahu souboru
    Ech, překlep se vloudil
    ind -name '*.conf' -print0 |
    xargs -0 sed -i.bak -e '/<nastaveni>/,/<\/nastaveni>/{
      /^neco/s/=.*/=necemu/;Ta;h
      :a
      /<\/nastaveni>/{
        x;s/^neco//;x;t
        h;ineco=necemu
      }
    }
    ${
      x;s/^$//;x;T;a<nastaveni>\
      neco=necemu\
    </nastaveni>
    }'
    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é.
    14.3.2006 11:47 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Skript pro změnu obsahu souboru
    Verze která není háklivá na mezery na začátku řádku
    find -name '*.conf' -print0 |
    xargs -0 sed -i.bak -e '/<nastaveni>/,/<\/nastaveni>/{
      /^[[:space:]]*neco/{s/=.*/=necemu/;Ta;h}
      :a
      /<\/nastaveni>/{
        x;s/^$//;x;T
        h;i  neco=necemu
      }
    }
    ${
      x;s/^$//;x;T;a<nastaveni>\
      neco=necemu\
    </nastaveni>
    }'
    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é.

    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.