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 14:44 | IT novinky

    Mozilla představuje Firefox Enterprise určený jako podnikový prohlížeč pro organizace s přísnými požadavky na bezpečnost, správu a dodržování předpisů. S profesionální podporou. Dostupný je zatím ve Francii, Německu, Rakousku a Švýcarsku.

    Ladislav Hagara | Komentářů: 1
    dnes 14:33 | Bezpečnostní upozornění

    Kybernetický útok zasáhl nejméně 150 supermarketů Intermarché a několik prodejen řetězců Leclerc a Coopérative U. Chladicí jednotky napadených obchodních domů byly nastaveny na nepřetržité odmrazování a teplota v nich mnohdy vystouala až nad 50°C. Škody napáchané na chlazeném a mraženém zboží budou patrně dosahovat miliónů eur.

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 1
    dnes 04:00 | Komunita

    Stát Kalifornie zažaloval výrobce 3D tiskových filamentů Polymaker. Vrchní soud San Diego County tvrdí, že firma propagací svých výrobků mezi příznivci 3D tištěných zbraní podporovala výrobu takzvaných 'ghost guns' (DIY zbraní) a že její PLA filament pro 3D tiskárny lze za těchto okolností považovat za součást určenou k výrobě střelné zbraně. Žaloba požaduje mimo jiné finanční sankce a soudní zákaz činnosti, Polymaker se hájí tím, že filament je běžný a sám o sobě legální produkt. Celý text žaloby (PDF na Google Drive).

    ❗Červivý Hřib krade❗ | Komentářů: 14
    dnes 03:33 | Nová verze

    V červnu byla představena aplikace Myna pro převod řeči na text v prostředí desktopu Ubuntu. Včera byla Myna zpřístupněna širší komunitě Ubuntu formou technologické ukázky dostupné v Ubuntu 24.04 LTS, Ubuntu 26.04 LTS a Ubuntu 26.10 s GNOME na Waylandu.

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

    Ubuntu 27.04 bude Tenacious T-Rex.

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

    Byla vydána nová verze 2026.4.0 "Never-slop" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu. ScummVM oslavil 25 let. Verze 0.0.1 vyšla 8. října 2001.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Humor

    Kanadský vývojář Anthony Sistilli vytvořil ironický DIY projekt parodující kamerové systémy Flock, s cílem názorně demonstrovat rizika masového sledování jaké provozují tyto komerční ALPR systémy. Z levné IP kamery a vlastního ML softwaru (napsaného s pomocí SI circa za 20 minut, kód se mi bohužel nepodařilo dohledat) běžícího v laptopu sestavil jednoduchý systém, který detekuje výhradně policejní vozidla, zaznamenává jejich SPZ a

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 7
    včera 12:44 | Upozornění

    Část údajů uživatelů internetového supermarketu Rohlík byla odcizena. Kyberútočníci napadli nástroj zákaznické podpory Rohlíku, odcizili tak jména, e-mailové adresy, v některých případech také telefonní čísla nebo přepisy komunikace mezi klienty a zákaznickou podporou. Rohlík incident nahlásil příslušným orgánům a přijal příslušné opatření, aby zamezil podobným případům v budoucnosti, uvedla firma.

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

    Aplikace eDoklady fungovala v obou volebních dnech stabilně a prakticky bez front. Digitální a informační agentura (DIA) odhaduje, že se digitálním dokladem prokázalo více než 100.000 voličů. Aplikaci si před volbami či během nich aktualizovalo 247.517 uživatelů. Nových registrací bylo 19.431 a do aplikace se přihlásilo 357.879 lidí. Největší nápor přišel bezprostředně po otevření volebních místností mezi 14. a 16. hodinou, kdy si

    … více »
    Ladislav Hagara | Komentářů: 11
    včera 00:55 | Pozvánky

    Začal semestr, začal i podzim a kromě hub rostou jako po dešti i veřejné dílny v Praze. Nedávno strahováci referovali o hackerspacu Bordel, nyní se otevřela dílna Dejvice Lab jen kousek od ČVUT. Na blížící Virtuální Bastlírně tak uslyšíte nejen report z návštěvy dílny HWLab, ale i řadu novinek, událostí a úsměvných momentů, které se za poslední měsíc ve světě techniky, ale i vědy udály. Připojte se tedy již v úterý 13.10. od 20:00 a zapojte se do

    … více »
    bkralik | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2840 hlasů
     Komentářů: 32, poslední 11.10. 17:02
    Rozcestník

    Dotaz: Podivné chování getline v awk skriptu

    21.10.2021 17:52 Tomáš Pelc | skóre: 22 | blog: multimedialni_pc_k_LCD_TV
    Podivné chování getline v awk skriptu
    Přečteno: 475×
    Parsuji výstup ldapsearch z AD a narazil jsem na zvláštní chování getline v awk skriptu. Nedokážu přijít na to, proč druhý výskyt jména "Lukaš" (ano, je tam krátké "a") se nevytiskne:
    echo -e "givenName:: THVrYcWh\ngivenName:: VG9tw6HFoQo=\ngivenName:: THVrYcWh\ngivenName: Karel" | awk '{ v = "" } { if ($1 ~ "::") { "echo "$2" | base64 -d" | getline v; gsub (/::/, ":", $1); print $1, v } else { print $0 }}'
    givenName: Lukaš
    givenName: Tomáš
    givenName: 
    givenName: Karel
    Máte někdo nějaké vysvětlení?

    Jak upravit skript, aby fungoval i v takovém případě podle očekávání?

    Díky

    Řešení dotazu:


    Odpovědi

    21.10.2021 18:46 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Podivné chování getline v awk skriptu
    Nebolo by lepšie ten ldapsearch urobiť v nejakom high level jazyku, napr pytóne ktorý má priamo knižnicu na LDAP čo rovno aj dekóduje ten base64 na text s diakritikou?
    22.10.2021 07:24 Tomáš Pelc | skóre: 22 | blog: multimedialni_pc_k_LCD_TV
    Rozbalit Rozbalit vše Re: Podivné chování getline v awk skriptu
    Chápu, co navrhuješ, ale celkové zadání je takové: bude to součástí jenkins jobu a chceme to zachovat "as much simple as possible", takže využívat pouze již instalované core nástroje. Druhá věc je, že awk je mi prostě v této situaci sympatičtější a tak bych tomu chtěl mimo jiné přijít "na kloub".
    22.10.2021 08:35 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Podivné chování getline v awk skriptu
    Tiež mám podobný názor na pytón. Ale ak sa ten ldapsearch s Jerkinsom nedá použiť, tak veľa zdaru. Z toho pytónu lezie lepší výstup ktorý nie je treba takto ošetrovať. Ldapsearch trošku zaspal dobu.
    Řešení 1× (Вherzet)
    21.10.2021 21:18 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: Podivné chování getline v awk skriptu
    echo -e "givenName:: THVrYcWh\ngivenName:: VG9tw6HFoQo=\ngivenName:: THVrYcWh\ngivenName: Karel"|while read line; do items=(`echo $line`); define=${items[0]}; if [ "${define:10:1}" = ":" ]; then echo "${define:0:10} `echo ${items[1]}|base64 -d`"; else echo $line; fi; done
    debian.plus@protonmail.com
    22.10.2021 07:43 Tomáš Pelc | skóre: 22 | blog: multimedialni_pc_k_LCD_TV
    Rozbalit Rozbalit vše Re: Podivné chování getline v awk skriptu
    Díky za řešení.

    Neuvedl jsem původně, že klíč (givenName:) není jediný, u kterého řeším base64 dekódování, takže skript by potřeboval úpravu. Nicméně ještě jednou díky za pomoc.
    Řešení 1× (Вherzet)
    22.10.2021 09:48 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: Podivné chování getline v awk skriptu
    Verzia na študovanie:
    keys="givenExtra givenName";
    echo -e "givenExtra:: THVrYcWh\ngivenName:: VG9tw6HFoQo=\ngivenName:: THVrYcWh\ngivenName: Karel"|
    while read line; do
    	items=(`echo $line`);
    	define=${items[0]};
    	
    	for key in $keys;
    	do
    		if [ "$define" = "$key::" ]; then
    			echo "$key: `echo ${items[1]}|base64 -d`";
    			break;
    		fi
    		if [ "$define" = "$key:" ]; then
    			echo $line;
    			break;
    		fi;
    	done;
    done
    
    Jednoriadková verzia: keys="givenExtra givenName"; echo -e "givenExtra:: THVrYcWh\ngivenName:: VG9tw6HFoQo=\ngivenName:: THVrYcWh\ngivenName: Karel"| while read line; do items=(`echo $line`); define=${items[0]}; for key in $keys; do if [ "$define" = "$key::" ]; then echo "$key: `echo ${items[1]}|base64 -d`"; break; fi if [ "$define" = "$key:" ]; then echo $line; break; fi; done; done
    debian.plus@protonmail.com
    Řešení 1× (❗Červivý Hřib krade❗)
    22.10.2021 00:00 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Podivné chování getline v awk skriptu

    S awk:

    echo -e 'givenName:: THVrYcWh\ngivenName:: VG9tw6HFoQo=\ngivenName:: THVrYcWh\ngivenName: Karel' \
    | awk 'BEGIN {  FS = "(\\s|:)+"
                   OFS = ": "
                   b64 = "base64 -d" }
           /^givenName::/ { print $2 |& b64
                            close(b64, "to")
                            b64 |& getline $2
                            close(b64) }
           1'
    

    Bez awk:

    echo -e 'givenName:: THVrYcWh\ngivenName:: VG9tw6HFoQo=\ngivenName:: THVrYcWh\ngivenName: Karel' \
    | while read gn name; do
        [[ "$gn" = *'::' ]] &&
        echo "${gn::-1}" "$(base64 -d <<< "$name")" ||
        echo "$gn" "$name"
      done
    
    22.10.2021 07:37 Tomáš Pelc | skóre: 22 | blog: multimedialni_pc_k_LCD_TV
    Rozbalit Rozbalit vše Re: Podivné chování getline v awk skriptu
    @Andrej - díky za obě řešení.

    Z mého úvodního dotazu nevyplynulo, že "givenName:" resp. "givenName::" není jediný klíč, u kterého řeším base64. Ty klíče tam jsou nejméně tři (ještě např. "dn:" a "sn:"). To už zkusím tvůj skript při-ohnout sám :-)

    Dokázal bys mi objasnit, proč to moje původní řešení funguje tak nederministicky? Proč se proměnná "v" v případě druhého výskytu jména nenaplní správně, ale zůstane prázdná?
    22.10.2021 09:14 X
    Rozbalit Rozbalit vše Re: Podivné chování getline v awk skriptu
    Mimochodem, kdyz nakopiruji tvoje reseni do terminalu dotanu:
    /bin/sh: 1: Syntax error: "|" unexpected
    Takze zrovna prenositelne to moc neni..
    Řešení 1× (Вherzet)
    22.10.2021 09:27 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: Podivné chování getline v awk skriptu
    BASH != SH
    debian.plus@protonmail.com
    22.10.2021 14:01 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Podivné chování getline v awk skriptu
    To je v poho. Človek za chvíľu zistí že nie všetky záznamy z ldapsearch sú v UTF, a posunie sa na druhú úroveň zbytočného riešenia.

    Good luck :-)
    22.10.2021 17:18 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Podivné chování getline v awk skriptu

    Asi to špatně kopíruješ nebo máš špatný shell nebo obojí. Problém s řádkem začínajícím | jistě není tak těžké vyřešit.

    22.10.2021 17:20 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Podivné chování getline v awk skriptu

    Druhé řešení (Bash) na givenName nezáleží.

    První rešení (AWK) se dá snadno přiohnout, aby se klíč zachoval.

    Řešení 1× (Tomáš Pelc (tazatel))
    25.10.2021 15:17 Tomáš Pelc | skóre: 22 | blog: multimedialni_pc_k_LCD_TV
    Rozbalit Rozbalit vše Re: Podivné chování getline v awk skriptu
    Tak jsem se snažil přiohnout tvoje AWK řešení a tady je výsledek:
    ADST="givenName:: THVrYcWh\ngivenName:: VG9tw6HFoQo=\ngivenName:: THVrYcWh\nsn:: VG9tw6HFoQo=\ngivenName: Karel\nsAMAccountName:: xIxlc8WlbcOtxZkK"
    
    echo -e "$ADST" \
      | awk 'BEGIN { FS = ": "; OFS = ": "; b64 = "base64 -d" }
      { if ($1 ~ ":") { print $2 |& b64; close(b64, "to"); b64 |& getline $2; close(b64) }}
      { gsub (/:/, "", $1); print $1, $2 }'
    Předpokládám, že by to šlo vyřešit ještě elegantněji, ale na to už nestačí moje současné znalosti AWKu.

    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.