abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:33 | IT novinky

    Po vlastních microSD kartách nabízí nově Raspberry Pi také vlastní NVMe SSD disky. Samostatně i v sadách s M.2 HAT+.

    Ladislav Hagara | Komentářů: 0
    dnes 06:11 | Zajímavý článek

    Byla zveřejněna (𝕏) Zpráva o činnosti Digitální a informační agentury (DIA) za rok 2023 (pdf). Začíná slovy ředitele: "Vznik Digitální a informační agentury (DIA) je v posledních letech možná jedním z nejvýznamnějších kroků, který dodá potřebný impuls digitalizaci státní správy."

    Ladislav Hagara | Komentářů: 6
    dnes 05:11 | Nová verze

    Vývojáři AlmaLinuxu představili AlmaLinux OS Kitten 10, tj. vývojovou verzi AlmaLinux OS 10 vycházejícího z CentOS Stream 10. Přehled novinek v poznámkách k vydání. Proč Kitten? Verze AlmaLinux OS jsou pojmenované podle kočkovitých šelem. Z kotěte vyroste další kočka.

    Ladislav Hagara | Komentářů: 0
    dnes 01:11 | Nová verze

    Kryptografická knihovna OpenSSL byla vydána v nové verzi 3.4. Přehled změn na GitHubu.

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

    Bylo objeveno nové největší prvočíslo. Jedná se o Mersennovo prvočíslo známé též jako M136279841. To znamená, že v binární formě je prvočíslo tvořeno 136 279 841 jedničkami. Objeveno bylo v rámci distribuovaného výpočetních projektu GIMPS (Great Internet Mersenne Prime Search). Zajímavostí je, že na rozdíl od předchozích takto objevených prvočísel nebylo objeveno pomocí CPU, ale na grafické kartě NVIDIA A100 s pomocí programu Gpuowl.

    DaBler | Komentářů: 3
    včera 16:44 | IT novinky

    Protokol MQTT (Wikipedie) dnes slaví 25 let (Mastodon, 𝕏). První publikovaná specifikace je z 22. října 1999.

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

    Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.4. Přehled novinek na GitLabu. Z novinek lze zmínit podporu telefonu Google Pixel 7. Na stránkách Murena lze koupit Murena Pixel 7.

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Pozvánky

    Připojte se ve středu 30. 10. 2024 od 10:00 do 12:00 na náš webinář "Řízení přístupu do PostgreSQL prostřednictvím externího autentizačního providera" (registrace zdarma) a naučte se, jak nastavit ověřování pomocí GSSAPI pro bezpečný přístup k databázím (Microsoft Active Directory nebo FreeIPA). Záznam předchozího webináře "Co je nového v PostgreSQL 17" můžete zhlédnout zde.

    … více »
    Heřmi | Komentářů: 0
    21.10. 21:33 | Nová verze

    Byla vydána nová verze 0.55 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    21.10. 14:22 | IT novinky

    Dle plánu bylo dnes vydáno Factorio 2.0 a Factorio: Space Age, tj. aktualizace 2.0 počítačové hry Factorio (Wikipedie) oficiálně běžící také na Linuxu a velké vesmírní rozšíření Factorio: Space Age.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: Bash - smazání řádku, pokud k němu neexistuje podobný řádek

    27.3.2014 22:43 Jirka696
    Bash - smazání řádku, pokud k němu neexistuje podobný řádek
    Přečteno: 320×
    Zdravím vás,

    chtěl bych se zeptat, zda v bashi existuje nějaký příkaz, nejspíše sed, který mi smazal řádek pod podmínkou, že existuje ještě jeden určitý řádek.

    Uvedu na příkladu.
    ABCDE ---- 1 text
    BFLMA ---- 1 text
    XYZ   ---- 2 text
    ATD   ---- 1 text
    Chci, aby to vždy porovnalo 1 text a našlo k sobě "partnera" 2 text. Pokud by nenašlo, tak by to řádek smazalo.

    Výsledek by tedy vypadal takto:
    ABCDE ---- 1 text
    XYZ   ---- 2 text
    Děkuji za rady

    Odpovědi

    27.3.2014 23:33 mhepp
    Rozbalit Rozbalit vše Re: Bash - smazání řádku, pokud k němu neexistuje podobný řádek
    Hmmm... Asi nerozumim Tvemu zadani.

    Takze mam soubor, ktery prochazim. A pokud najdu vyskyt radku, ktery obsahuje "1 text", tak ho vypisu a vyhledam radek, ktery obsahuje "2 text", ten vpisu a koncim.

    Co mam delat v pripadech, ze "1 text" nenaleznu? Nebo pokud je "2 text" pred "1 text"?

    Jedno reseni by mohlo byt:

    grep -c 1 "1 text" soubor && grep -c 1 "2 text" soubor

    nebo

    awk 'BEGIN{nalezen=0} /1 text/{pom=$0; nalezen=1} /2 text/{if (nalezen==1) {print pom; print $0;}}' soubor

    Pokud Ti nevyhovuje toto reseni, specifikuj lepe zadani.
    28.3.2014 00:26 Jirka696
    Rozbalit Rozbalit vše Re: Bash - smazání řádku, pokud k němu neexistuje podobný řádek
    no to mi nějak nefugnuje zkusim to ještě upřesnit

    mam např
    Hráč Tereza - B vojak20
    Hráč Honza - A vojak
    Hráč Jirka - A vojak3
    Hráč Karel - A vojak2
    Hráč Jméno - A vojak7
    Hráč Jméno - B vojak3
    Hráč Franta - B vojak 
    Hráč Eliška - A vojak
    a já potřebuju vybrat jen ty hráče, kteří mají k sobě druhou dvojici dvojice je dána tím, že k "A vojak" patří "B vojak", tedy písmeny A a B a poté stejným stringem

    čili potřebuju udělat např to, že pro "A vojak", potřebuju najít "B vojak" , pokud nenajdu žádnou B dvojici, tak chci všechny řádky s "A vojak" smazat obdobně pro další, pro "A vojak3" chci najít "B vojak3"

    výstup tedy bude
    Hráč Honza - A vojak
    Hráč Jirka - A vojak3
    Hráč Jméno - B vojak3
    Hráč Franta - B vojak
    
    28.3.2014 01:19 mhepp
    Rozbalit Rozbalit vše Re: Bash - smazání řádku, pokud k němu neexistuje podobný řádek
    Nastinene reseni samozrejme nebude fungovat... Takhle je tu dobre doplnene zadani, tak se na to muzeme podivat.

    Tak si treba vybereme vsechny unikatni vojaky (jedno, jestli A nebo B) a podivame se, jestli existuje pro daneho vojaka A-B par. Ulozime si prvni vyskyt A vojaka i B vojaka, a pokud mame na konci oba dva, tak je vypiseme:
    cat soubor | awk '{print $NF} '  | sort | uniq | while read i; do
        awk 'BEGIN{na=0; nb=0} END{ if(na * nb == 1){print ra; print rb} /A '$i'$/{ if (na==0){ ra=$0; na=1} } /B '$i'$/{ if(nb==0){rb=$0; nb=1} }' soubor
    done
    
    Skript funguje pouze v pripade, ze na konci radku nejsou prebytecne mezery a zaroven, ze neni platny nasledujici pripad:
    ...
    Hrac K - A vojak
    ...
    Hrac L - B vojak
    ...
    Hrac M - A vojak
    ...
    Hrac N - B vojak
    ...
    
    Mysleno tim, ze existuje vice paru se stejnym vojakem.
    28.3.2014 01:57 mhepp
    Rozbalit Rozbalit vše Re: Bash - smazání řádku, pokud k němu neexistuje podobný řádek
    Příloha:
    A jeste jedno reseni, ciste pomoci awk...

    Skript v priloze pustime takhle:
    cat soubor | awk -f awk_reseni.awk
    
    Tento skript zvladne prebytecne mezery, ale zase bere jen prvni vyskyt paru.
    2.4.2014 23:22 mhepp | skóre: 22
    Rozbalit Rozbalit vše Re: Bash - smazání řádku, pokud k němu neexistuje podobný řádek
    Takové mám nejradši... Ani nenapíšou, jestli to funguje... :(

    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.