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 14:22 | Nasazení Linuxu

    Článek na Libre Arts představuje baskytarový multiefekt Anagram od společnosti Darkglass Electronics. S Linuxem uvnitř (licence, GitHub).

    Ladislav Hagara | Komentářů: 1
    dnes 10:22 | IT novinky

    Městský soud v Praze vyhlásil rozsudek, který vyhověl žalobě novináře Jana Cibulky, který s podporou spolku IuRe (Iuridicum Remedium) požadoval omluvu od státu za to, že česká legislativa nařizuje operátorům uchovávat metadata o elektronické komunikaci. To je přitom v rozporu s právem. Stát se musí novináři omluvit a zaplatit náklady řízení. Především je ale součástí přelomové rozhodnutí o nelegálnosti shromažďování dat a o

    … více »
    Ladislav Hagara | Komentářů: 2
    dnes 08:22 | IT novinky

    Americké technologické firmy Apple a Meta Platforms porušily pravidla na ochranu unijního trhu, uvedla včera Evropská komise (EK). Firmám proto vyměřila pokutu – Applu 500 milionů eur (12,5 miliardy Kč) a Metě 200 milionů eur (pět miliard Kč). Komise to oznámila v tiskové zprávě. Jde o první pokuty, které souvisejí s unijním nařízením o digitálních trzích (DMA). „Evropská komise zjistila, že Apple porušil povinnost vyplývající z nařízení

    … více »
    Ladislav Hagara | Komentářů: 9
    dnes 08:11 | IT novinky

    Americká společnost OpenAI, která stojí za chatovacím robotem ChatGPT, by měla zájem o webový prohlížeč Chrome, pokud by jeho současný majitel, společnost Google, byl donucen ho prodat. Při slyšení u antimonopolního soudu ve Washingtonu to řekl šéf produktové divize ChatGPT Nick Turley.

    Ladislav Hagara | Komentářů: 0
    dnes 07:55 | Nová verze

    Po roce vývoje od vydání verze 1.26.0 byla vydána nová stabilní verze 1.28.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.28.

    Ladislav Hagara | Komentářů: 0
    dnes 07:44 | Nová verze

    Byla vydána nová verze 10.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 211 vývojářů. Provedeno bylo více než 2 800 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Komunita

    42 svobodných a otevřených projektů získalo finanční podporu od NLnet Foundation (Wikipedie).

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

    Americký výrobce čipů Intel plánuje propustit více než 20 procent zaměstnanců. Cílem tohoto kroku je zjednodušit organizační strukturu ve firmě, která se potýká s problémy.

    Ladislav Hagara | Komentářů: 9
    včera 05:22 | Nová verze

    Byla vydána OpenMandriva Lx 6.0 s kódovým názvem Vanadium. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 01:44 | Zajímavý článek

    CSIRT.CZ, český národní CERT provozovaný na základě veřejnoprávní správní smlouvy společností CZ.NIC, shrnuje patnáct let svého fungování pod tímto sdružením: CSIRT.CZ – 15 let ve sdružení CZ.NIC.

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

    Dotaz: Regulární výraz s podmínkou

    20.2.2014 16:37 Dave
    Regulární výraz s podmínkou
    Přečteno: 229×
    Ahoj,

    potřebuju nahradit v textu výskyt daného řetězce obsahem proměnné. Navíc pouze na řádcích, které nejsou komentáře (nezačínají znakem #).

    Zatím jsem se dopracoval k tomuto:

    sed '/#/!s/text/$VAR/'

    ale samozřejmě se v tomto výrazu nenahrazuje obsah proměnné. Když zkusím

    sed "/#/!s/text/$VAR/"

    tak mi bash píše chybu

    bash: !s/text/$VAR/": event not found"

    Navíc proměnná obsahuje zpětná lomítka, takže bych potřeboval použít jiný delimiter než lomítko, a to nefunguje ani ve variantě s apostrofy. Jak na to?

    Řešení dotazu:


    Odpovědi

    20.2.2014 16:39 Dave
    Rozbalit Rozbalit vše Re: Regulární výraz s podmínkou
    Malá oprava, proměnná samozřejmě obsahuje lomítka, ne zpětná lomítka.
    Řešení 1× (Tarmaq)
    20.2.2014 17:04 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Regulární výraz s podmínkou
    sed -e "/#/! s/text/${VAR//\//\\/}/"

    Jiný oddělovač by fungovat měl, např. pokud proměnná neobsahuje podtržítko, tak

    sed -e "/#/! s_text_${VAR}_"

    (v tomto případě jsou potřeba složené závorky, protože podtržítko může být součástí jména proměnné)

    20.2.2014 17:18 Dave
    Rozbalit Rozbalit vše Re: Regulární výraz s podmínkou
    Díky moc, chyba u mě byla v těch chybějících složených závorkách!
    20.2.2014 17:17 mhepp | skóre: 22
    Rozbalit Rozbalit vše Re: Regulární výraz s podmínkou
    Co takhle:

    sed '/#/!s/text/'$VAR'/'

    20.2.2014 17:27 Dave
    Rozbalit Rozbalit vše Re: Regulární výraz s podmínkou
    Taky funguje, díky!
    20.2.2014 18:33 u2
    Rozbalit Rozbalit vše Re: Regulární výraz s podmínkou
    A nemelo by tam byt spis sed '/^#/!s/text/'$VAR'/'

    tj. opravdu jen radky ktere zacinaji # ? Takhle to ignoruje uplne cele radky ktere ten "komentar" maji i nekde dale.

    Ovsem pokud je akceptovatelny i komentar na konci radku, tak to ani jednim zpusobem nepujde, protoze se na takovem radku bud nahradi text v komentari i v kodu(?) a nebo ani v jednom.

    Pak by to zrejme resilo napr.:

    sed -r 's/^([^#]*)text/\1'$VAR'/'

    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.