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:00 | IT novinky

    Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.

    Ladislav Hagara | Komentářů: 0
    dnes 12:33 | Zajímavý software

    Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | IT novinky

    Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    včera 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 1
    včera 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

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

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    6.10. 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 5
    6.10. 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    6.10. 20:11 | Komunita

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (45%)
     (15%)
     (17%)
     (21%)
     (15%)
     (17%)
     (15%)
     (15%)
    Celkem 195 hlasů
     Komentářů: 13, poslední dnes 07:41
    Rozcestník

    Dotaz: Náhrada textu pomocí sed

    28.1.2014 17:16 Alan
    Náhrada textu pomocí sed
    Přečteno: 549×
    Ahoj, proč tohle funguje
    sed -i 's/^text = .*/text = (aaa,bbb)/' /home/alan
    ale tohle ne?
    A="aaa"
    B="bbb"
    sed -i 's/^text = .*/text = ($A,$B)/' /home/alan
    Poradí někdo jak to opravit?

    Řešení dotazu:


    Odpovědi

    28.1.2014 17:34 jekub
    Rozbalit Rozbalit vše Re: Náhrada textu pomocí sed
    .sed
    nebo
    export A="aaa"
    export B="bbb"
    Řešení 1× (iKoulee)
    martin-ux avatar 28.1.2014 18:30 martin-ux | skóre: 18 | Bratislava
    Rozbalit Rozbalit vše Re: Náhrada textu pomocí sed
    daj to spravne do uvodzoviek, napr.
    A="me" ; echo "catchme" | sed  "s/$A/you/"
    ..when you do things right, people won't be sure you've done anything at all..
    Řešení 1× (iKoulee)
    28.1.2014 21:14 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Náhrada textu pomocí sed

    Nefunguje to, protože v apostrofech se neexpandují proměnné, zatímco v uvozovkách ano. Takže například cokoliv z tohoto by fungovalo:

    sed -i 's/^text = .*/text = ('"$A"','"$B)"'/' /home/alan
    sed -i "s/^text = .*/text = (${A},${B})/" /home/alan
    

    Obojí je trochu přehnaně opatrné; :-) šlo by to bez nadbytku uvozovek i bez složených závorek. Ale je dobré si přečíst někde v man bash pravidla, která říkají, co se kdy expanduje, kde končí název proměnné a tak dále.

    29.1.2014 10:37 Petr MOTEJLEK | skóre: 6
    Rozbalit Rozbalit vše Re: Náhrada textu pomocí sed
    Ahoj,

    Předpokládám, že to pouštíš v Bashi. Ten, když vidí ty jednoduchý uvozovky, tak v takovým řetězci proměnný nahrazovat nebude. Když z nich uděláš dvojitý, tak už nahrazovat bude (bude se taky pokoušet dělat další expanze, ale o tom si raději už někde přečti).

    sed -i 's/^text = .*/text = ($A,$B)/' /home/alan

    zkus nahradit

    sed -i "s/^text = .*/text = ($A,$B)/" /home/alan

    a tenhle jednoduchej příklad ti už projde.
    5.2.2014 21:24 JJ
    Rozbalit Rozbalit vše Re: Náhrada textu pomocí sed
    Ahoj, taky mám problém se sed-em, poradil by prosím někdo?
    sed -i -e "s/XXXXXX/$(dirname $0)/g" /tmp/soubor
    Děkuji pěkně za pomoc
    6.2.2014 18:01 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Náhrada textu pomocí sed

    Dal bych tam místo lomítek svislítka, protože expanze $(dirname $0) obsahuje vždycky aspoň jedno lomítko, což sed nese nelibě, když se lomítka používají i jako oddělovač.

    sed -i "s|XXXXXX|$(dirname $0)|g" /tmp/soubor
    

    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.