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 00:33 | Nová verze

    Byla vydána OpenIndiana 2026.10. Unixový operační systém OpenIndiana (Wikipedie) vychází z OpenSolarisu (Wikipedie).

    Ladislav Hagara | Komentářů: 3
    včera 00:22 | IT novinky

    Americký výrobce polovodičů onsemi (ON Semiconductor) zrušil plány na rozšíření výroby v rožnovském závodě v Česku za dvě miliardy dolarů (podle aktuálního kurzu zhruba 43,5 mld. Kč). Důvodem je vývoj na trhu.

    Ladislav Hagara | Komentářů: 18
    7.11. 13:00 | Bezpečnostní upozornění
    Nové vydání zlib opravuje několik problémů při kompresi a dekompresi dat, přetečení bufferů, čtení mimo vyhrazenou paměť, únik neinicializovaných dat. Zvlášť významné jsou chyby v inflateGetDictionary(), inflateSync() a gzwrite(), které mohou způsobit poškození paměti. Vysoká relevance - zlib používá řada systémových i aplikačních komponent.
    vencour | Komentářů: 0
    7.11. 12:25 | Bezpečnostní upozornění
    Digicert hlásí neoprávněné čtení archivních zákaznických údajů. Došlo k němu po migraci z února 2025, po níž se interní systém, dříve dostupný jen přes VPN, stal přístupným z internetu. Chyba v oprávněních umožnila nově vytvořeným účtům číst archivní záznamy. K přístupu k datům mělo dojít mezi 27. červnem a 2. červencem 2026. DigiCert neoprávněné čtení potvrdil až 19. října 2026. Problém zpočátku vyhodnotil jako tvorbu účtů, ne jako … více »
    vencour | Komentářů: 0
    7.11. 04:44 | Pozvánky

    O víkendu probíhá na FIT VUT v Brně konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma. Přednášky lze sledovat i online na VHSky a YouTube.

    Ladislav Hagara | Komentářů: 0
    7.11. 02:11 | IT novinky

    Qualcomm uzavřel víceletou dohodu se SpaceX. Bude dodávat rádiové technologie, baseband jednotky a software pro plánovanou pozemní 5G síť Starlink Mobile. Výstavba má zahrnovat desítky tisíc základnových stanic v USA. Zahájení nasazování se očekává v roce 2027. Qualcomm dohodu označuje za svůj dosud největší 5G kontrakt.

    vencour | Komentářů: 0
    7.11. 02:00 | IT novinky

    Google rozšířil Cloud Vulnerability Reward Program. Nově nabízí odměnu až 250 tisíc dolarů za vysoce závažné architektonické bezpečnostní chyby označované jako Root-in-Cloud.

    vencour | Komentářů: 0
    6.11. 12:22 | IT novinky

    V březnu byla oznámena spolupráce GrapheneOS s Motorolou. Nejnovější vlajka Motorola Signature 27 je první Motorola s oficiální podporou GrapheneOS. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.

    Ladislav Hagara | Komentářů: 3
    6.11. 04:55 | Nová verze

    Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.

    Ladislav Hagara | Komentářů: 3
    6.11. 03:22 | Nová verze

    Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (8%)
     (7%)
     (4%)
     (21%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 3015 hlasů
     Komentářů: 35, poslední 6.11. 23:27
    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: 751×

    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á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.