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 15:22 | IT novinky

    Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).

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

    Samsung představil svůj nejnovější chytrý telefon Galaxy Z TriFold (YouTube). Skládačka se nerozkládá jednou, ale hned dvakrát, a nabízí displej s úhlopříčkou 10 palců. V České republice nebude tento model dostupný.

    Ladislav Hagara | Komentářů: 1
    dnes 12:33 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.11.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:00 | Nová verze

    Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 3
    dnes 03:00 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.

    Ladislav Hagara | Komentářů: 0
    dnes 00:33 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 16:00 | Komunita

    Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.

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

    Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.

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

    Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.

    Ladislav Hagara | Komentářů: 6
    včera 04:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.17 oznámil Linus Torvalds vydání Linuxu 6.18. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Vypíchnout lze například podporu protokolu PSP (PSP Security Protocol, PSP encryption of TCP connections).

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (16%)
     (24%)
     (16%)
     (18%)
    Celkem 423 hlasů
     Komentářů: 18, poslední dnes 18:34
    Rozcestník

    Dotaz: sed & bash escape hell

    14.1.2008 17:35 depka
    sed & bash escape hell
    Přečteno: 562×
    zdravim potrebuji nahradit ve zdrojacich retezec demo_ vyskytujici se v radcich obsahujici $sql = ..., retezcem TABLE_PREFIX

    pokud radek zacina .*$sql = "(dvojite uvozovky) prepisu na ".TABLE_PREFIX."
    pokud radek zacina .*$sql = '(apostrof) potrebuji prepsat na '.TABLE_PREFIX.'

    prvni problem z dvojityma uvozovkama sem vyresil timhle:
    sed -i~ -e 's/\(.*\$sql \?= \?".*\)demo_\(.*\)/\1".TABLE_PREFIX."\2/g' *
    nedari se mi vsak zapsat prikaz pro druhy problem s apostrofem
    dekuji

    Odpovědi

    14.1.2008 17:45 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: sed & bash escape hell
    sed -i~ -e 's/\(.*\$sql \?= \?".*\)demo_\(.*\)/\1'"'"'.TABLE_PREFIX.'"'"'\2/g' *

    Je to sice divný, ale bash to vezme - prostě na sebe napojím 2 řetězce a jeden je uzavřen v úvozovkách a druhý v apostrofech.

    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    14.1.2008 17:59 depka
    Rozbalit Rozbalit vše Re: sed & bash escape hell
    jeste treba tu prvni " vymenit za ' takze nakonec:
    sed -i~ -e 's/\(.*\$sql \?= \?'"'"'.*\)demo_\(.*\)/\1'"'"'.TABLE_PREFIX.'"'"'\2/g' *
    diky :)
    David Watzke avatar 14.1.2008 18:04 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: sed & bash escape hell
    A když sedu předáš -r, ušetříš si dost escapování a nebude v tom takovej zmatek :-)
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    14.1.2008 18:08 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: sed & bash escape hell
    Když už je to uvnitř řetězce samý apostrof, nebylo by lepší uzavřít to celé rovnou do uvozovek? V tomhle aby se prase vyznalo :/
    14.1.2008 18:19 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: sed & bash escape hell
    V tomhle aby se prase vyznalo :/

    Ale funguje to :-). Ale vážně - nevypadalo to, že by se tohle řešení mělo nějak archivovat (myslím do skriptu nebo tak), takže (tolik) nevadí, že to je nečitelné. Navíc, při ohraničení uvozovkami se zase musí kontrolovat shellovské wildcardy (tedy escapovat a zde se to začne míchat s tím sedovským) - takže je to IMHO prašť jak uhoď.

    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    14.1.2008 18:33 depka
    Rozbalit Rozbalit vše Re: sed & bash escape hell
    s dvojityma uvozovkama sem to zkousel snad pul hodiny, ale escapoval jsem apostrof protoze v manualu bashe je psane:
    Enclosing characters in double quotes preserves the literal value of all characters within the quotes, with the exception of $, ‘, \,

    kde jsem tento znak ‘ povazoval za apostrof ' :/
    14.1.2008 18:04 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: sed & bash escape hell
    Snadné:
    sed -i~ -e "s/\(.*\$sql \?= \?\".*\)demo_\(.*\)/\1\".TABLE_PREFIX.\"\2/g" *
    sed -i~ -e "s/\(.*\$sql \?= \?'.*\)demo_\(.*\)/\1'.TABLE_PREFIX.'\2/g" *
    14.1.2008 18:10 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: sed & bash escape hell
    Nebo samozř. ten první tak jak jste to měl:
    sed -i~ -e 's/\(.*\$sql \?= \?".*\)demo_\(.*\)/\1".TABLE_PREFIX."\2/g' *
    sed -i~ -e "s/\(.*\$sql \?= \?'.*\)demo_\(.*\)/\1'.TABLE_PREFIX.'\2/g" *

    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.