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 13:22 | IT novinky

    Vláda představila strategické digitalizační projekty. Roadmapa zahrnuje celkem 55 projektů napříč státní správou, z toho 22 prioritních projektů vycházejících přímo z programového prohlášení vlády a 33 projektů založených na platné legislativě. Portfolio pokrývá oblasti financí, zdravotnictví, digitální identity, dat, registrů, dopravy, krizového řízení, sociálních agend i kybernetické bezpečnosti.

    Ladislav Hagara | Komentářů: 0
    dnes 00:22 | Komunita

    Vyjádřeni Software Freedom Conservancy (SFC) k porušování licence AGPLv3 společností Bambu Lab v jejich softwaru Bambu Studio pro 3D tisk. Bambu Studio vychází z PrusaSliceru. Ten zase z Slic3ru. Spuštěn byl projekt baltobu, který kombinuje několik strategií pro řešení problému. SFC zastřeší vývoj svobodné náhrady proprietární knihovny libbambu_networking pomocí reverzního inženýrství a reimplementace, forku OrcaSliceru pro Bambu Lab tiskárny od Paweła Jarczaka a forku celého Bambu Studia pod názvem Viscose.

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

    Správce souborů GNOME Commander (Wikipedie) byl přepsán do Rustu a vydán v nové verzi 2.0.0.

    Ladislav Hagara | Komentářů: 0
    včera 19:44 | Nová verze

    Sway (Wikipedie), dlaždicový (tiling) správce oken pro Wayland kompatibilní s i3, byl vydán ve verzi 1.12. Do vývoje se zapojilo 50 vývojářů. Přehled novinek na GitHubu. Sway 1.12 závisí na wlroots 0.20.0.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | IT novinky

    Papež Lev XIV. ve své první encyklice Magnifica Humanitas (Skvělé lidství), která se věnuje umělé inteligenci (AI), varoval před dezinformacemi, které AI manipulací s obsahem vytváří. Moc mají podle něj sociální sítě ovládané hrstkou soukromníků. Upozornil také roli digitálních platforem v obchodování s lidmi, které podle něj musí být uznáno jako současná forma otroctví. Papež se také poprvé omluvil za roli, kterou Vatikán sehrál při legitimizaci otroctví, a za to, že jej po staletí neodsoudil.

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

    Český telekomunikační úřad zveřejnil Výroční zprávu za rok 2025 (pdf), která shrnuje jeho hlavní aktivity v oblasti regulace elektronických komunikací, poštovních služeb, digitálních služeb a přípravy na dohled nad umělou inteligencí. Součástí zprávy jsou také data o vývoji trhu, včetně pokračujícího růstu spotřeby mobilních dat a rozšiřování sítí nové generace. Celkový objem přenesených mobilních dat dosáhl v roce 2025 přibližně

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 16:00 | Nová verze

    Tým sdružení CZ.NIC vyvíjející routovacího daemona BIRD oznámil vydání nových verzí 3.3.0 a 2.19.0. Ty přinášejí podporu pro EVPN/VXLAN a automatizaci BGP na základě router advertisementů. Více informací je k dispozici v archivu uživatelského mailing-listu.

    VSladek | Komentářů: 0
    24.5. 04:33 | Nová verze

    Open source software pro úpravu digitálních fotografií LightZone (Wikipedie) byl vydán v nové verzi 5.0.0. LightZone je dnes k dispozici pod licencí BSD. Původně se jednalo o proprietární software vyvíjený společností Light Crafts. Ta v prosinci 2012 souhlasila s uvolněním zdrojových kódů jako open source [Wayback Machine].

    Ladislav Hagara | Komentářů: 0
    23.5. 17:22 | Nová verze

    Byla vydána verze 0.84 telnet a ssh klienta PuTTY (Wikipedie). Podrobnosti v přehledu nových vlastností a oprav chyb a Change Logu.

    Ladislav Hagara | Komentářů: 2
    22.5. 19:44 | IT novinky

    Microsoft představil Azure Linux 4.0 a Azure Container Linux. Na konferenci Open Source Summit North America 2026 organizované konsorciem Linux Foundation a sponzorované také Microsoftem. Azure Linux 4.0 vychází z Fedora Linuxu. Azure Container Linux je založen na projektu Flatcar. Azure Linux (GitHub, Wikipedie) byl původně znám jako CBL-Mariner.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (26%)
    Celkem 1717 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Příkaz/script - Vyhledání a nahrazení slov (sed, grep, find)

    9.9.2015 23:58 Mr. Mrkev
    Příkaz/script - Vyhledání a nahrazení slov (sed, grep, find)
    Přečteno: 473×

    Dobrý den,

    mám dotaz ohledně vyhledání slov v různých textových dokumentech jedné složky. Lze sestavit příkaz nebo i více příkazů (.sh), které by dokázali vyhledat všechny textové soubory ve složce a ve všech nahradit určité slovo jiným slovem (jinými slovy), ale pozor to slovo/ta slova by bylo z jiného textového souboru?

    O co mně přesně jde:

    Kdybych měl více textových souborů s jedním stejným slovem (jinak pojemenovaný, ale stejný "mustr") a toto slovo bych chtěl v každém souboru zvlášť nahradit jiným slovem z druhého textového souboru, tak jak na to? Jelikož je to krkolomné, tak uvedu příklad:

    ***

    Např.: V 5 souborech je stejné slovo "word". Toto slovo bych chtěl nahradit v každém souboru zvlášť různými slovy z šestého souboru, kde by byla uložena takto:

    jedna

    dva

    tři

    čtyři

    pět

    Výsledek:

    // Původních 5 souborů tedy: ..... word .....

    // Upravené:

    1. soubor = .... jedna ....

    2. soubor = .... dva ....

    ....

    ***

    Prozatím jsem částečně nalezl a upravil tento příkaz, který funguje na nalezení a nahrazení jednoho slova přímo zadaným jedním slovem (textem), ale jak jsem psal, tak bych ho potřeboval "upravit"/nahradit/...

    find /cesta/do/adresáře -type f -print0 | xargs -0 sed -i 's|hledaný text|nový text|g'

    Varianty, které nefungují (prozatím jsem zkoušel jen nahradit 1 slovo 1 slovem z druhého souboru):

    // "file" - měl být soubor ten soubor s náhradním slovem

    // "22222" - jsem chtěl nahradit

    find ./ -type f -print0 | xargs -0 sed -i 's|22222|$(sed -n 1p file)|g'

    grep -rl '22222' ./ | xargs sed -i 's/22222/$(sed -n 1p file)/g'

    sed -e "s/22222/$(sed -n 1p file)/" soubor.txt

    Šlo by to nějak? Nebo si to už musím naprogramovat např. v C...? Sám bych byl raději, kdyby šel sestavit nějaký příkaz či script.

    Předem Vám děkuji za Vaše rady!

    S pozrdavem a přáním pěkného zbytku týdne

    Jirka


    Řešení dotazu:


    Odpovědi

    Jendа avatar 10.9.2015 05:07 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Příkaz/script - Vyhledání a nahrazení slov (sed, grep, find)
    i=1
    word="word"
    for f in soubory; do
      tgt=`head -n $i šestý | tail -n 1`
      sed -ire "s/$word/$tgt/g" "$f"
      i=$(( $i + 1 ))
    done
    (nezkoušeno)
    11.9.2015 10:40 Mr. Mrkev
    Rozbalit Rozbalit vše Re: Příkaz/script - Vyhledání a nahrazení slov (sed, grep, find)
    Děkuji, s mírnou úpravou jsem hledal přesně toto! Využívám a budu využívat dále + nabalovat další...
    jose17 avatar 10.9.2015 12:17 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
    Rozbalit Rozbalit vše Re: Příkaz/script - Vyhledání a nahrazení slov (sed, grep, find)
    v pythone trebars takto:
    #!/usr/bin/python
    import os, fileinput, re
    zdroj = open('/tmp/siesty.txt')
    
    for (koren, adresare, subory) in os.walk('adresar_so_subormi'):
         for subor in subory:
             print "menim",subor
             nahrada = zdroj.readline().rstrip()
             print "nahradim 'word' za",nahrada
             for riadok in fileinput.FileInput(os.path.join(koren,subor), inplace=1):
                 print re.sub('word',nahrada, riadok),
    
    Ja vim, on vi, ty nano!
    11.9.2015 10:41 Mr. Mrkev
    Rozbalit Rozbalit vše Re: Příkaz/script - Vyhledání a nahrazení slov (sed, grep, find)
    Také ti děkuji, ač využiju/vám předchozí řešení, tak tvé si také uložím. Třeba se časem bude hodit.

    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.