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í
×
    včera 03:55 | Nová verze

    Immich byl vydán v nové verzi 3.0.0. Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.

    Ladislav Hagara | Komentářů: 5
    včera 02:55 | IT novinky

    Společnost Juno Computers prodávající počítače s předinstalovaným Linuxem má nově v nabídce linuxový tablet Juno Tab 4 - WiFi. Na výběr je Debian, Ubuntu a Kubuntu. Předobjednat jej lze za 949 liber (26 500 korun).

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

    Podman (Pod Manager), nástroj umožňující vytvářet a provozovat kontejnery, aniž by uživatel potřeboval práva roota, byl vydán v nové major verzi 6.0.0. Přehled novinek v poznámkách k vydání. Řešena je i vážná bezpečnostní chyba CVE-2026-57231.

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | IT novinky

    Společnost Sony oznámila, že od ledna 2028 přestane vydávat nové hry pro PlayStation na fyzických discích. Všechny budoucí tituly budou dostupné výhradně v digitální podobě na PlayStation Store.

    Ladislav Hagara | Komentářů: 4
    2.7. 16:55 | Nová verze

    Google Chrome 150 byl prohlášen za stabilní. Nejnovější stabilní verze 150.0.7871.46 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 433 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    2.7. 13:00 | Nová verze

    Soudní dvůr Evropské unie potvrdil rekordní pokutu 4,125 miliardy eur (100 miliard Kč) americké technologické firmě Google ze skupiny Alphabet. Pokutu firmě v roce 2018 vyměřila Evropská komise (EK) za to, že Google podle ní zneužívá operačního systému Android k potlačení konkurence na trhu vyhledávacích služeb.

    Ladislav Hagara | Komentářů: 17
    2.7. 12:44 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa povolila firmě Anthropic obnovit plný přístup klientů k modelům umělé inteligence (AI) Fable 5 a Mythos 5. Ty byly nedostupné bezmála tři týdny kvůli bezpečnostním obavám vlády, třebaže americké ministerstvo obchodu minulý pátek povolilo omezený přístup k modelu Mythos 5 pro některé „důvěryhodné“ domácí organizace.

    Ladislav Hagara | Komentářů: 1
    2.7. 12:22 | Zajímavý článek

    Francúzska organizácia na ochranu spotrebiteľa, po viac než ôsmych rokoch skúmania, žaluje Epson za plánované zastarávanie tlačiarní. Súd sa začína dnes, 2. 7. 2026, vo francúzskom Nanterre.

    Vlado99 | Komentářů: 9
    2.7. 03:00 | Zajímavý software

    Erin Catto, autor open source 2D fyzikálního enginu Box2D (Wikipedie), představil nový 3D fyzikální engine Box3D. Engine je již používán ve hře The Legend of California.

    Ladislav Hagara | Komentářů: 0
    2.7. 01:00 | Nová verze

    Byla vydána nová verze 4.0.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (16%)
     (26%)
    Celkem 2050 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: bash - hromadna uprava textu

    tomes.io avatar 17.7.2012 12:22 tomes.io | skóre: 12 | blog: tomesh
    bash - hromadna uprava textu
    Přečteno: 574×
    Ahoj,

    uz je to nejaky cas co jsem delal s regularnimi vyrazy.

    Mohl by mi nekdo poradit, jak co nejlepe dostat text, ktery je napsan na nekolik radku, mezi tagy, na jeden radek?

    Priklad vychoziho textu:
    <> aaasasdaasfddsfsdf <+>
    <> aaasasdaasfddsfsdf <+>
    
    <> aaasasdaasfdd
    sdsdsdsd
    sdsdsdsdsd
    sdsdsdsdsdsfsdf <+>
    
    Vyslednu text bych chtel v teto podobe:
    <> aaasasdaasfddsfsdf <+>
    <> aaasasdaasfddsfsdf <+>
    
    <> aaasasdaasfddsdsdsdsdsdsdsdsdsdsdsdsdsdsdsfsdf <+>
    
    
    Tedy, potrebuji takovu regularni vyraz, ktery by jednotlive vety mezi tagy a dal do jednoho radku. Potrebuji takto upravit hromadu textu pro snazsi kontrolu v diffu (bude snazsi nachazet a oznacovat chybne radky).

    Budu rad, pokud mi nekdo poradi prislusny regularni vyraz v sed nebo prikaz v awk.

    Vim, jak v awk odstranit vsechny znaky newline, ale mezi tagy mi to nejde. Zatim jsem v awk dospel k tomuto prikazu (ktery ale nedela pozadovane). Mozna by ho stacilo jen nejak lehce upravit?
    cat text1 | awk 'BEGIN{RS="<+>"}{printf "%s", $0}'
    

    Řešení dotazu:


    Odpovědi

    17.7.2012 13:12 iKoulee | skóre: 19
    Rozbalit Rozbalit vše Re: bash - hromadna uprava textu
    nesnazil bych se odstranovat jen nektere znaky noveho radku, ale odstranil bych vsechny a pak pridal nove, tam kam potrebuji, treba nejak takhle:

    sed -e ':a;N;$!ba;s/\n//g' -e 's/\(<+>\)/\1\n/g'
    
    Even if you fall on your face, you’re still moving forward
    tomes.io avatar 17.7.2012 15:54 tomes.io | skóre: 12 | blog: tomesh
    Rozbalit Rozbalit vše Re: bash - hromadna uprava textu
    Diky moc, to je presne co jsem potreboval. Akorat bych jeste poprosil o upravu pro klasicky tagovy format sipky se zpetnym lomitkem

    </s>

    POkud tento tag pouziju misto <+> tak mi bash vyhodi hlasku:
    sed: -e expression #2, char 12: unknown option to `s'
    Hadam, ze se v regularnim vyrazu musi nejak vyjadrit, ze tag neni specialni znacka pro vyraz, nejak to odblokovat. Zkousel jsem to ruzne obehnat zpetnyma lomitkama, ale furt to nejde.
    17.7.2012 16:36 iKoulee | skóre: 19
    Rozbalit Rozbalit vše Re: bash - hromadna uprava textu
    imo je to lomitko v tagu normalni a jedinne co potrebujete vyescapovat je prave to lomitko a to zpetnym lomitkem :-)
    sed -e ':a;N;$!ba;s/\n//g' -e 's/\(<\/s>\)/\1\n/g'
    
    Even if you fall on your face, you’re still moving forward
    tomes.io avatar 18.7.2012 08:23 tomes.io | skóre: 12 | blog: tomesh
    Rozbalit Rozbalit vše Re: bash - hromadna uprava textu
    Diky, tohle tak nejak splnilo co jsem potreboval :)
    tomes.io avatar 18.7.2012 09:17 tomes.io | skóre: 12 | blog: tomesh
    Rozbalit Rozbalit vše Re: bash - hromadna uprava textu
    Jeste by tu bylo jedno reseni s awk:
    cat out.txt |awk 'BEGIN{tmp=""} $0 ~ /.*<\/s>.*/{print tmp $0;tmp="";} $0 !~ /.*<\/s>.*/{tmp=tmp $0}'
    xkucf03 avatar 17.7.2012 22:55 xkucf03 | skóre: 50 | blog: xkucf03
    Rozbalit Rozbalit vše Re: bash - hromadna uprava textu
    Pokud ti jde o porovnávání, tak doporučuji načíst jako DOM a pak zase serializovat (uložit jako XML) s tím, že se to uloží stejným způsobem. Případně to můžeš prohnat přes normalize-space() v XSLT.

    Nebo použít rovnou nějaký nástroj na porovnávání XML.

    A ještě pozor na to odstraňování mezer – z těch konců řádků by se měly stát mezery, neměly by úplně zmizet.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes

    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.