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í
×
    dnes 15:44 | Nová verze

    Byl vydán Mozilla Firefox 126.0. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Vylepšena byla funkce "Zkopírovat odkaz bez sledovacích prvků". Přidána byla podpora zstd (Zstandard). Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 126 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    dnes 15:22 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 11.0. Přehled novinek v aktualizované dokumentaci.

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

    Byla vydána nová verze 24.0 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Wynsdey. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.

    Ladislav Hagara | Komentářů: 2
    dnes 13:00 | Nová verze

    Byla představena oficiální rozšiřující deska Raspberry Pi M.2 HAT+ pro připojování M.2 periferii jako jsou NVMe disky a AI akcelerátory k Raspberry Pi 5. Cena je 12 dolarů.

    Ladislav Hagara | Komentářů: 2
    dnes 12:44 | Pozvánky

    V Praze o víkendu proběhla bastlířská událost roku - výstava Maker Fair v Praze. I strahovští bastlíři nelenili a bastly ostatních prozkoumali. Přijďte si proto i vy na Virtuální Bastlírnu popovídat, co Vás nejvíce zaujalo a jaké projekty jste si přinesli! Samozřejmě, nejen českou bastlířskou scénou je člověk živ - takže co se stalo ve světě a o čem mohou strahováci něco říct? Smutnou zprávou může být to, že provozovatel Sigfoxu jde do

    … více »
    bkralik | Komentářů: 0
    dnes 12:33 | Humor

    Kam asi vede IllllIllIIl.llIlI.lI? Zkracovač URL llIlI.lI.

    Ladislav Hagara | Komentářů: 1
    včera 22:00 | IT novinky

    Společnost OpenAI představila svůj nejnovější AI model GPT-4o (o jako omni, tj. vše). Nově také "vidí" a "slyší". Videoukázky na 𝕏 nebo YouTube.

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

    Ondřej Filip publikoval reportáž z ceremonie podpisu kořenové zóny DNS. Zhlédnout lze také jeho nedávnou přednášku Jak se podepisuje kořenová zóna Internetu v rámci cyklu Fyzikální čtvrtky FEL ČVUT.

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

    Společnost BenQ uvádí na trh novou řadu monitorů RD určenou pro programátory. První z nich je RD240Q.

    Ladislav Hagara | Komentářů: 19
    včera 13:00 | IT novinky

    Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem nadále zůstává Frontier od HPE (Cray) s výkonem 1,206 exaFLOPS. Druhá Aurora má oproti loňsku přibližně dvojnásobný počet jader a dvojnásobný výkon: 1,012 exaFLOPS. Novým počítačem v první desítce je na 6. místě Alps. Novým českým počítačem v TOP500 je na 112. místě C24 ve Škoda Auto v Mladé Boleslavi. Ostravská Karolina, GPU

    … více »
    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (72%)
     (6%)
     (11%)
     (11%)
    Celkem 250 hlasů
     Komentářů: 16, poslední dnes 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: 298×

    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.