abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    17.5. 13:44 | Nová verze

    Byla vydána (𝕏) nová major verze 17 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    17.5. 12:22 | Komunita

    Sovereign Tech Fund, tj. program financování otevřeného softwaru německým ministerstvem hospodářství a ochrany klimatu, podpoří vývoj FFmpeg částkou 157 580 eur. V listopadu loňského roku podpořil GNOME částkou 1 milion eur.

    Ladislav Hagara | Komentářů: 0
    17.5. 01:55 | Komunita

    24. září 2024 budou zveřejněny zdrojové kódy přehrávače Winamp.

    Ladislav Hagara | Komentářů: 10
    16.5. 23:33 | Nová verze

    Google Chrome 125 byl prohlášen za stabilní. Nejnovější stabilní verze 125.0.6422.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 9 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 1
    16.5. 21:11 | Nová verze

    Textový editor Neovim byl vydán ve verzi 0.10 (𝕏). Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    16.5. 20:55 | Nová verze

    Byla vydána nová verze 6.3 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.15.

    Ladislav Hagara | Komentářů: 0
    16.5. 13:33 | IT novinky

    Dnes ve 12:00 byla spuštěna první aukce domén .CZ. Zatím největší zájem je o dro.cz, kachnicka.cz, octavie.cz, uvycepu.cz a vnady.cz [𝕏].

    Ladislav Hagara | Komentářů: 9
    16.5. 13:22 | Nová verze

    JackTrip byl vydán ve verzi 2.3.0. Jedná se o multiplatformní open source software umožňující hudebníkům z různých částí světa společné hraní. JackTrip lze instalovat také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    16.5. 12:22 | Pozvánky

    Patnáctý ročník ne-konference jOpenSpace se koná 4. – 6. října 2024 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytváří všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 0
    16.5. 03:11 | Nová verze

    Program pro generování 3D lidských postav MakeHuman (Wikipedie, GitHub) byl vydán ve verzi 1.3.0. Hlavní novinkou je výběr tvaru těla (body shapes).

    Ladislav Hagara | Komentářů: 9
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (77%)
     (5%)
     (10%)
     (8%)
    Celkem 348 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Dotaz: sed - substituce promenou nefunguje

    4.10.2009 03:44 anon123 | skóre: 35 | blog: ganomi
    sed - substituce promenou nefunguje
    Přečteno: 300×

    Ahoj.

    Pisu malej skriptik a nefunguje mi substituce s promenou u sed.

    changeName(){
    SPEED="$(echo ${LINEARRAY[8]} | sed -e 's/<[^>]*>//g' speedline.txt | sed -e 's/Speed://g')"
    TEMP=$(echo ${LINEARRAY[1]})  | sed  "s/-[0-9]*/'SPEED'/"
    echo -e "$TEMP"
    }

    Vyzkousel jsem:

    TEMP=$(echo ${LINEARRAY[1]})  | sed  "s/-[0-9]*/'"SPEED"'/"
    TEMP=$(echo ${LINEARRAY[1]})  | sed  's/-[0-9]*/'SPEED'/'
    TEMP=$(echo ${LINEARRAY[1]})  | sed  "s/-[0-9]*/${SPEED}/"

    Hazi mi to error:

    sed: -e expression #1, char 36: unknown option to `s'
    

    Zajimave je, ze na konzoli to funguje:

    echo -e "   <name>-265</name>" | sed -e 's/-[0-9]*/'$LOGNAME'/'

     

    Muzete nekdo poradit?
    Dik

    Odpovědi

    4.10.2009 04:10 anon123 | skóre: 35 | blog: ganomi
    Rozbalit Rozbalit vše Re: sed - substituce promenou nefunguje

    Uprava:
    v mem prispevku jsem zapomnel na "$" pred SPEED.

    Takze spravne:

    TEMP=$(echo ${LINEARRAY[1]})  | sed  "s/-[0-9]*/'"$SPEED"'/"
    TEMP=$(echo ${LINEARRAY[1]})  | sed  's/-[0-9]*/'$SPEED'/'
    TEMP=$(echo ${LINEARRAY[1]})  | sed  "s/-[0-9]*/${SPEED}/"

    Toto hazi error, kdyz to mam ve scriptu.


    4.10.2009 07:45 l4m4
    Rozbalit Rozbalit vše Re: sed - substituce promenou nefunguje
    Takovou věc bych napsal v něčem, co umí nahrazování regulárních výrazů samo (pytho, ruby, perl, ...) a nespouštěl tisíckrát sed, který je navíc řádkově orientovaný, takže je problém s elementy přes víc řádků
    < tag a="b"
              c="d">
    a tohle
    sed -e 's/<[^>]*>//g' speedline.txt | sed -e 's/Speed://g'
    se taky normálně napíše
    sed -e 's/<[^>]*>//g' -e 's/Speed://g' speedline.txt
    nebo s GNU sedem
    sed 's/<[^>]*>//g;s/Speed://g' speedline.txt
    K původnímu dotazu: proměnná $LOGNAME zřejmě obsahuje znaky, které jsou v daném kontextu pro sed speciální (řekl bych, že lomítko). Je možno hodnotu proměnné oescapovat (např. dalším sedem)
    LOGNAME=$(sed 's/[\/...]/\\\0/g' <<<"$LOGNAME")
    ale je to celé šílený postup, který se používá nanejvýš v configure, protože to musí být ultrapotrabilní a nepoužívat nic použitelného. Správný postup je použít pro řešení problému nástroj, který je k tomu vhodný.
    4.10.2009 11:10 anon123 | skóre: 35 | blog: ganomi
    Rozbalit Rozbalit vše Re: sed - substituce promenou nefunguje

    Chapu co tim chces rici, ale nebudu se 30 dni ucit neco, co pouziji jenom jednou. Navic to potrebuji co nejdrive, volim tedy nastroj, kterym se to da zvladnout co nejdriv.

    Jinak diky za ty upravy. To samozrejme implementuji.

    Splacal jsem to takto:

    changeName(){
    
    SPEED="$(echo ${LINEARRAY[8]} | sed -e 's/<[^>]*>//g' | sed -e 's/.*Speed://g')"
    
    TEMP1=$(echo -e "${LINEARRAY[1]}" | sed -e 's/-[0-9]*<\/name>//')
    TEMP2=$(echo -e "${LINEARRAY[1]}" | sed -e 's/.*<name>-[0-9]*//')
    
    TEMP=$TEMP1$SPEED$TEMP2
    LINEARRAY[1]=$TEMP
    }
    
    4.10.2009 19:10 pozortucnak | skóre: 21 | blog: vecny_windowsar
    Rozbalit Rozbalit vše Re: sed - substituce promenou nefunguje
    Perl je na tohle v pohode... nic se učit nemusíš
    echo aaa | perl -pe "s/aaa/$USER/g"
    
    Jsem mimořádně obtížný případ
    5.10.2009 01:00 l4m4
    Rozbalit Rozbalit vše Re: sed - substituce promenou nefunguje
    Toto samozřejmě trpí identickým problémem, pokud je $USER proměnná shellu, kterou cpeš do zdrojáku perlu. Jiná situace by byla s perlí proměnnou $USER, ale to bys to, jak jsem říkal, musel psát v perlu (nebo raději něčem čitelnějším) celé.
    5.10.2009 11:38 saslik
    Rozbalit Rozbalit vše Re: sed - substituce promenou nefunguje

    Tipuju ze problem je v obsahu promenne SPEED. Prikaz pro sed se trextove sestavi a pokud je tam vyznamny znak, napriklad lomitko v "km/hour", tak to bude chybne. Pro ladeni takovych skriptu je dobre vzdy vypsat co se bude spoustet a pak to spustit, pak uvidis jestli se to sestavilo dobre nebo ne.

    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.