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 04:11 | Nová verze

    Google Chrome 156 byl prohlášen za stabilní. Přehled novinek v poznámkách k vydání. Opraveno bylo 353 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

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

    Indická společnost eMudhra po bezpečnostním incidentu, tj. kompromitaci soukromých klíčů osmi mezilehlých certifikátů své certifikační autority, opouští globální byznys s SSL/TLS certifikáty.

    Ladislav Hagara | Komentářů: 4
    včera 15:44 | Bezpečnostní upozornění

    Dle Phoronixu zveřejnila společnost Trend Micro prostřednictvím programu Zero Day Initiative (ZDI) několik hlášení bezpečnostních zranitelností přímo na veřejném mailing listu LKML, přestože některé chyby dosud nemají opravu začleněnou do hlavní větve jádra. Mezi hlášenými problémy jsou dvě zranitelnosti s hodnocením CVSS 9.0, týkající se SMB Direct a KSMBD, které mohou umožnit vzdálené spuštění kódu. Další hlášení se týkají … více »

    vencour | Komentářů: 1
    včera 15:33 | Nová verze

    Správce hesel KeePassXC byl vydán ve verzi 2.8.0. Přechází na Qt 6, podporuje vkládání hesel s Waylandem, rychlé odemykání pomocí Polkitu nebo možnost nastavení klávesových zkratek (seznam změn).

    ʚĭɞ 🍉 | Komentářů: 1
    včera 15:22 | Nová verze

    Databáze DuckDB (Wikipedie) byla vydána ve verzi 2.0.0 LTS. S kódovým názvem Cinnamon Teal (čírka skořicová). S vyladěným protokolem Quack.

    Ladislav Hagara | Komentářů: 0
    včera 11:11 | Bezpečnostní upozornění

    V implementaci Broadcom 802.11 byla zjištěna chyba ve zpracování WPS/EAP, týká se to SDK od roku 2010. Broadcom podle výzkumníka Quentina Kaisera odmítl CVE přidělit. Modemy Huawei a Technicolor jsou používány i v ČR, v LTE routerech, běžných domácích routerech a firemních přístupových bodech, jejich současný počet a zranitelnost konkrétních verzí však zatím neznáme. Více detailů a demo. GitHub / Broadcom 802.11 SDK Detection Toolkit.

    vencour | Komentářů: 5
    včera 05:11 | Nová verze

    Byla vydána nová verze 10.8 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přibyl balíček DietPi WireGuard.

    Ladislav Hagara | Komentářů: 1
    21.10. 21:22 | Pozvánky

    Oslavte vydání openSUSE Leap 16.1 s námi v Praze! Ve středu 4. listopadu 2026 (den po vydání Leapu 16.1) vás zveme na malou oslavu vydání openSUSE Leap 16.1 do pražské kanceláře SUSE. Připravili jsme pro vás dvě krátké přednášky: … více »

    lkocman | Komentářů: 1
    21.10. 16:44 | Bezpečnostní upozornění

    Dle plánu bylo PHP vydáno v nových verzích 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Opraveny jsou kritické zranitelnosti CVE-2026-109618 a CVE-2026-109619 aneb PHP2Shell.

    Ladislav Hagara | Komentářů: 12
    21.10. 11:55 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-2.1 a 24.04-1.5. S opravou kritických zranitelností.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2895 hlasů
     Komentářů: 33, poslední 20.10. 23:44
    Rozcestník

    Dotaz: Rekurzivne nahradenie/vymazanie znaku v 2. stlpci suboru

    25.1.2016 12:01 Ladislav
    Rekurzivne nahradenie/vymazanie znaku v 2. stlpci suboru
    Přečteno: 743×
    Dobry den, niesom velmi v konzole zbehly ale riesim nasledujuci problem. Mam textove subory v ktorych je rozny pocet stlpcov. Minimalny pocet je 2. Tieto subory su v roznych podadresaroch. Potrebujem aby sa v kazdom subore v 2. stlpci ak prvy znak je 0 tento znak vymazal. Moj pokus je takyto:
    #!/bin/bash
    
    for i in $(find . -name *.txt); do
      awk '{gsub("^0","",$2); print $1,$2}' $i
    done
    
    avsak tento skript vypise iba opravene stlpce ale nezapise zmeny do suboru. Viete ma nejako usmernit spravnym smerom ?

    Dakujem.

    Odpovědi

    25.1.2016 12:22 NN
    Rozbalit Rozbalit vše Re: Rekurzivne nahradenie/vymazanie znaku v 2. stlpci suboru
    #!/bin/bash
    
    for i in $(find . -name *.txt); do
        sed -ri 's/\ 0(.*)$/\ \1/g' $i
    done
    
    Urizne prvni nulu za mezerou z prava, asi by to slo i elegantneji. Doporucuji nejprve otestovat(bez -i).
    25.1.2016 12:33 Ladislav
    Rozbalit Rozbalit vše Re: Rekurzivne nahradenie/vymazanie znaku v 2. stlpci suboru
    Hmmm - no nevymaze to pociatocnu nulu z druheho stlpca :-( (skusal som bez -i)
    Jendа avatar 25.1.2016 18:13 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Rekurzivne nahradenie/vymazanie znaku v 2. stlpci suboru
    sed -r 's/^([^ ]+)( +)0(.*)$/\1\2\3/g'
    wamba avatar 25.1.2016 14:27 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Rekurzivne nahradenie/vymazanie znaku v 2. stlpci suboru
    čím jsou odděleny sloupce, mezery?

    třeba: find -name "*\.txt" |xargs perl -i -anE '$F[1] =~ s/^0//g;say "@F"'

    opět pro zkoušku lze vynechat -i
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    25.1.2016 14:43 Ladislav
    Rozbalit Rozbalit vše Re: Rekurzivne nahradenie/vymazanie znaku v 2. stlpci suboru
    Ano medzera. Tento skript funguje, akurat zmensuje medzery, co by asi vadit nemalo, ale to sa dozviem az ked budem tieto TXT subory importovat na dalsie spracovanie. Da sa aj bez toho zmensovania medzier ? Dakujem kazdopadne.
    wamba avatar 25.1.2016 15:32 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Rekurzivne nahradenie/vymazanie znaku v 2. stlpci suboru
    záleží jestli chcete ty mezery zachovat, pak třeba: find -name "*\.txt" |xargs perl -i -pE 's/^\s*\S+\s+\K0//;'.

    nebo jen zvětšit mezery: find -name "*\.txt" |xargs perl -i -anE '$"="\t";$F[1] =~ s/^0//g;say "@F"'
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    25.1.2016 18:22 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Rekurzivne nahradenie/vymazanie znaku v 2. stlpci suboru

    Tvůj pokus má jednu vadu: nezachovává sloupce následující po druhém sloupci.

    Tady je můj výstřel do tmy, který soubory už přímo edituje a zachovává všechny sloupce. Počítá s tabulátory jako oddělovači, ale klidně si tam lze dosadit místo \t mezery nebo skupiny znaků.

    find . -name '*.txt' -exec sed -ir \
      's/(^[\t]*[^\t]+[\t]+)0(.*$)/\1\2/' '{}' +
    
    Co když je v tom druhém sloupci pouze jedna samotná nula nebo více nul a nic nenulového za nimi? Pak by tam asi měla zůstat právě jedna nula, že ano. To bych udělal zhruba takto:
    find . -name '*.txt' -exec sed -ir \
      's/(^[\t]*[^\t]+[\t]+)0+(([^\t0]|0).*$)/\1\2/' '{}' +
    

    Tohle^^^ by mělo druhý sloupec nahradit takto:

    0 -> 0
    00 -> 0
    000 -> 0
    ...
    cosi -> cosi
    0cosi -> cosi
    00cosi -> cosi
    ...
    
    25.1.2016 18:25 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Rekurzivne nahradenie/vymazanie znaku v 2. stlpci suboru

    Aha. Teď v diskusi výše vidím, že oddělovače jsou mezery. Takže:

    find . -name '*.txt' -exec sed -ir \
      's/(^ *[^ ]+ +)0(.*$)/\1\2/' '{}' +
    find . -name '*.txt' -exec sed -ir \
      's/(^ *[^ ]+ +)0+(([^ 0]|0).*$)/\1\2/' '{}' +

    Založit nové vlákno • Nahoru

    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.