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 05:33 | Pozvánky

    Protože je už po aprílu, můžou strahováci opět zveřejnit program další Virtuální Bastlírny, aniž by připravená témata působila dojmem, že jde o žert. Vězte tedy, že již v úterý 7. dubna od 20:00 proběhne VB, kde se setkají bastlíři, technici, učitelé i nadšenci do techniky a kde i vy se můžete zapojit do družného hovoru, jako by všichni seděli u pomyslného piva. Co mají bastlíři tento měsíc na srdci? Pravděpodobně by nás musel zasáhnout meteorit

    … více »
    bkralik | Komentářů: 0
    včera 23:33 | Nová verze

    Byla vydána verze 26.1 aneb čtvrtletní aktualizace open source počítačového planetária Stellarium (Wikipedie, GitHub). Vyzkoušet lze webovou verzi Stellaria na Stellarium Web.

    Ladislav Hagara | Komentářů: 1
    včera 23:00 | Zajímavý projekt

    VOID (Video Object and Interaction Deletion) je nový open-source VLM model pro editaci videa, který dokáže z videí odstraňovat objekty včetně všech jejich fyzikálních interakcí v rámci scény (pády, kolize, stíny...) pomocí quadmaskingu (čtyřhodnotová maska, která člení pixely scény do čtyř kategorií: objekt určený k odstranění, překrývající se oblasti, objektem ovlivněné oblasti a pozadí scény) a dvoufázového inpaintingu. Za projektem stojí výzkumníci ze společnosti Netflix.

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 05:22 | Zajímavý software

    Design (GitHub) je 2D CAD pro GNOME. Instalovat lze i z Flathubu. Běží také ve webovém prohlížeči.

    Ladislav Hagara | Komentářů: 12
    včera 04:11 | Zajímavý software

    Příspěvek na blogu herního enginu Godot představuje aplikaci Xogot přinášející Godot na iPad a iPhone. Instalovat lze z App Storu. Za Xogotem stojí Miguel de Icaza (GitHub) a společnost Xibbon.

    Ladislav Hagara | Komentářů: 1
    4.4. 04:22 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za březen (YouTube).

    Ladislav Hagara | Komentářů: 13
    3.4. 16:44 | Nová verze

    ESP-IDF (Espressif IoT Development Framework), tj. oficiální vývojový framework pro vývoj aplikací na mikrokontrolérech řady ESP32, byl vydán v nové verzi 6.0. Detaily na portálu pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    3.4. 12:33 | Nová verze

    DeepMind (Alphabet) představila novou verzi svého multimodálního modelu, Gemma 4. Modely jsou volně k dispozici (Ollama, Hugging Face a další) ve velikostech 5-31 miliard parametrů, s kontextovým oknem 128k až 256k a v dense i MoE variantách. Modely zvládají text, obrázky a u menších verzí i audio. Modely jsou optimalizované pro běh na desktopových GPU i mobilních zařízeních, váhy všech těchto modelů jsou uvolněny pod licencí Apache 2.0. Návod na spuštění je už i na Unsloth.

    NUKE GAZA! 🎆 | Komentářů: 11
    3.4. 03:55 | Nová verze

    Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 3. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).

    Ladislav Hagara | Komentářů: 0
    2.4. 19:55 | Zajímavý projekt

    Průkopnická firma FingerWorks kolem roku 2000 vyvinula vícedotykové trackpady s gesty a klávesnice jako TouchStream LP. V roce 2005 ji koupil Apple, výrobu těchto produktů ukončil a dotykové technologie využil při vývoji iPhone. Multiplatformní projekt Apple Magic TouchstreamLP nyní implementuje funkcionalitu TouchStream LP na současném Apple Magic Trackpad, resp. jejich dvojici. Diskuze k vydání probíhá na Redditu.

    |🇵🇸 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (7%)
     (1%)
     (12%)
     (30%)
     (3%)
     (6%)
     (1%)
     (14%)
     (23%)
    Celkem 1223 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Sed - za posledni shodou pridat radek

    24.9.2007 15:56 artec | skóre: 24
    Sed - za posledni shodou pridat radek
    Přečteno: 633×
    Dobry den, pomoci regularnich vyrazu v sedu bych potreboval vyresit tento problem.

    Priklad:
    Hledany retezec: "cc"
    pridat radek: "xx"
    
    Vstupni data:
    
    aabbccddeeff
    aaaaaaaaaaaa
    aaabbbcccddd
    cccccccccccc
    aaaaaaaaaaaa
    aabbccbbbbbb
    xxxxxxxxxxxx
    
    Vystupni data:
    
    aabbccddeeff
    aaaaaaaaaaaa
    aaabbbcccddd
    cccccccccccc
    aaaaaaaaaaaa
    aabbccbbbbbb
    xx
    xxxxxxxxxxxx
    
    Manualove stranky sedu i sadu techto prikladu znam, ale stale s tim nemuzu hnout. Zatim vsechny me pokusy jsou ve vysledku temer stejne jako kdybych zadal jenom:

    # sed -e "/cc/ a\xx" ./vstupni_data

    Za kazde rady dekuji.

    Odpovědi

    24.9.2007 17:33 ajikdpoe | skóre: 23 | blog: dvh
    Rozbalit Rozbalit vše Re: Sed - za posledni shodou pridat radek
    mne to funguje:
    $ sed '/cc/ a\xx' vstupni_data 
    aabbccddeeff
    xx
    aaaaaaaaaaaa
    aaabbbcccddd
    xx
    cccccccccccc
    xx
    aaaaaaaaaaaa
    aabbccbbbbbb
    xx
    xxxxxxxxxxxx
    
    Za kazdy riadok kde je cc vypise xx
    24.9.2007 17:40 artec | skóre: 24
    Rozbalit Rozbalit vše Re: Sed - za posledni shodou pridat radek
    Asi jsem dotaz mozna napsal nesrozumitelne, ale potrebuji az za poslednim vyskytem "cc" v celem vstupnim souboru vlozit radek s "xx", tak, aby byl vysledek totozny s tim, jak jsem psal v dotazu.
    24.9.2007 18:15 Martin Doucha | skóre: 23 | blog: Yet another blog
    Rozbalit Rozbalit vše Re: Sed - za posledni shodou pridat radek
    Já bych na to použil AWK, načetl si celý vstup do paměti, průběžně si pamatoval konec řádku s posledním výskytem hledaného řetězce, na konci vložil xx na správné místo a všechno vypsal.
    24.9.2007 18:32 petr
    Rozbalit Rozbalit vše Re: Sed - za posledni shodou pridat radek
    A co grepem zjistit číslo poslední řádky a pak jen "poskládat" příkazy head a tail???

    Příklad:
    grep -n pattern input_file | tail -n 1 | sed 's/\([0-9]*\).*/\1/'
    
    vypíše číslo poslední řádky, která odpovídá.

    Pak jen stačí:
    LAST_LINE=`grep -n pattern input_file | tail -n 1 | sed 's/\([0-9]*\).*/\1/'`
    
    TAIL=`wc -l input_file | sed 's/\([ 0-9]*\).*/\1/'`
    TAIL=$(($TAIL - $LAST_LINE))
    
    head -n $LAST_LINE input_file > output_file
    echo náhrada >> output_file
    tail -n $TAIL input_file >> output_file
    
    zoul avatar 24.9.2007 19:11 zoul | skóre: 43 | blog: | Boskovice
    Rozbalit Rozbalit vše Re: Sed - za posledni shodou pridat radek
    Jestli se nemusíme držet sedu, tak v Perlu by to mohlo vypadat takhle:
    perl -0ne "s/cc(.*\n)(?\!cc)(.*)$/cc\1xx\n\2/g; print" < vstup.txt
    zoul avatar 24.9.2007 19:14 zoul | skóre: 43 | blog: | Boskovice
    Rozbalit Rozbalit vše Re: Sed - za posledni shodou pridat radek
    A nebo ještě o fous kratší, golfu se nedá odolat :)
    perl -0ne "s/(cc.*\n)(?\!cc)(.*)$/\1xx\n\2/; $_" < vstup.txt
    24.9.2007 20:16 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Sed - za posledni shodou pridat radek

    Lze to napsat i jinak - je to kratší a mnohem míň srozumitelný :-):

    sed "`grep -n 'regexp' <vstupní-soubor | \
       tail -n 1 | cut -d: -f 1`apřidávaný řádek" \
       <vstupní-soubor

    Myslím, že by to šlo napsat i čistě v sedu (třeba příkazem N si celý soubor načíst do paměti a pak to nějak vyhledat (nebo třeba přetočit (2×) pořadí řádku a dávat před první výskyt), ale tohle bude určitě paměťově míň náročné.

    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    24.9.2007 20:29 artec | skóre: 24
    Rozbalit Rozbalit vše Re: Sed - za posledni shodou pridat radek
    Uz mi to funguje asi 5ti zpusoby. :)

    Dekuji vsem mnohokrat za rady (nakopnuti). Honza
    24.9.2007 22:41 huhuhu
    Rozbalit Rozbalit vše Re: Sed - za posledni shodou pridat radek
    1) aj ked je uz problem vyrieseny ...
    2) ... a nie som ziadny expert na sed

    ... tak predsa len - neexistuje nejaky prepinac REVERSE ?
    ja by som na to isiel opacne - najst prvy vyskyt od konca suboru a ten spracovat :-)
    24.9.2007 23:13 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Sed - za posledni shodou pridat radek
    tac

    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.