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

    Společnost Epic Games vydala verzi 5.7 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

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

    Intel vydal 30 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20251111 mikrokódů pro své procesory.

    Ladislav Hagara | Komentářů: 0
    včera 15:33 | Nová verze

    Byla vydána říjnová aktualizace aneb nová verze 1.106 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.106 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | Komunita

    Canonical pro své zákazníky, předplatitele Ubuntu Pro, prodloužil podporu Ubuntu LTS z 12 let na 15 let (Legacy add-on). Týká se verzí od 14.04 (Trusty Tahr).

    Ladislav Hagara | Komentářů: 2
    včera 05:11 | Nová verze

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 5.0.0. Nově je oficiálně podporován Linux ARM64/AArch64. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

    Ladislav Hagara | Komentářů: 6
    včera 00:33 | Nová verze

    Byla vydána verze 10 dnes již multiplatformního open source frameworku .NET (Wikipedie). Přehled novinek v příspěvku na blogu Microsoftu. Další informace v poznámkách k vydání na GitHubu nebo v přednáškách na právě probíhající konferenci .NET Conf 2025.

    Ladislav Hagara | Komentářů: 0
    12.11. 22:33 | IT novinky

    Rodina hardwaru služby Steam se začátkem roku 2026 rozroste. Steam Deck doplní nový Steam Controller, herní PC Steam Machine se SteamOS s KDE Plasmou a bezdrátový VR headset s vlastními ovladači Steam Frame.

    Ladislav Hagara | Komentářů: 2
    12.11. 16:22 | IT novinky

    Amazon Web Services (AWS) oznámil (en) výstavbu Fastnetu – strategického transatlantického optického kabelu, který propojí americký stát Maryland s irským hrabstvím Cork a zajistí rychlý a spolehlivý přenos cloudových služeb a AI přes Atlantik. Fastnet je odpovědí na rostoucí poptávku po rychlém a spolehlivém přenosu dat mezi kontinenty. Systém byl navržen s ohledem na rostoucí provoz související s rozvojem umělé inteligence a

    … více »
    Ladislav Hagara | Komentářů: 0
    12.11. 15:11 | IT novinky

    Evropská komise zkoumá možnosti, jak přinutit členské státy Evropské unie, aby ze svých telekomunikačních sítí postupně vyloučily čínské dodavatele Huawei a ZTE. Místopředsedkyně EK Henna Virkkunenová chce změnit doporučení nepoužívat rizikové dodavatele při budování mobilních sítí z roku 2020 v právně závazný požadavek.

    Ladislav Hagara | Komentářů: 14
    12.11. 12:44 | Bezpečnostní upozornění

    sudo-rs, tj. sudo a su přepsané do programovacího jazyka Rust, již obsaženo v Ubuntu 25.10, bylo vydáno ve verzi 0.2.10. Opraveny jsou 2 bezpečnostní chyby.

    Ladislav Hagara | Komentářů: 1
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (47%)
     (18%)
     (18%)
     (22%)
     (15%)
     (23%)
     (16%)
     (16%)
    Celkem 348 hlasů
     Komentářů: 16, poslední 12.11. 18:21
    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: 445×
    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á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.