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:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 2
    dnes 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    dnes 12:33 | IT novinky

    Evropská komise by do léta mohla předložit návrh normy omezující používání sociálních sítí dětmi v zájmu jejich bezpečí na internetu. Prohlásila to včera předsedkyně EK Ursula von der Leyenová, podle níž řada zemí Evropské unie volá po zavedení věkové hranice pro sociální sítě. EU částečně řeší bezpečnost dětí v digitálním prostředí v již platném nařízení o digitálních službách (DSA), podle německé političky to však není dostatečné a

    … více »
    Ladislav Hagara | Komentářů: 14
    dnes 04:11 | Nová verze

    Multiplatformní open source aplikace scrcpy (Wikipedie) pro zrcadlení připojeného zařízení se systémem Android na desktopu a umožňující ovládání tohoto zařízení z desktopu, byla vydána v nové verzi 4.0.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | Pozvánky

    Chybí vám někdo, s kým byste si popovídali o bastlení, technice, počítačích a vědě? Nechcete riskovat debatu o sportu u piva v hospodě? Pak doražte na virtuální pokec u virtuálního piva v rámci Virtuální Bastlírny organizované strahovským MacGyverem již tento čtvrtek. Možná se ptáte, co se tak může probírat? Dají se probrat slavná výročí - kromě 55 let obvodu 555 (což je mimochodem prý andělské číslo) a vzpomínky na firmu Signetics -

    … více »
    bkralik | Komentářů: 0
    včera 23:11 | Zajímavý software

    GTK2-NG je komunitní fork GTK 2.24 (aktuální verze je 4.22). Oznámení a diskuse v diskusním fóru Devuanu, forku Debianu bez systemd. Není to jediný fork GTK 2. Ardour je například postaven na vlastním forku GTK 2 s názvem YTK.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | Pozvánky

    V neděli 17. května 2026 proběhne v Českých Budějovicích první MobileLinux Hackday zaměřený na Linux v mobilech, embedded platformy a open source hardware. Po sedmi úspěšných měsíčních setkáních v Praze se akce přesouvá také do jižních Čech, aby se komunita mobilního Linuxu mohla potkat i mimo hlavní město. Akce se uskuteční v konferenčním sále Vajgar v Clarion Congress Hotelu (Pražská tř. 2306/14) se zahájením mezi 14:00 až 15:00 a … více »

    lkocman | Komentářů: 0
    včera 15:00 | Komunita

    Vývojáři Debianu zhruba v polovině vývojového cyklu Debianu 14 s kódovým názvem Forky rozhodli, že Debian musí dodávat reprodukovatelné balíčky, tj. kdokoli si může nezávisle ověřit, že daný binární balíček vznikl překladem a sestavením z konkrétních zdrojových kódů. Aktuálně je reprodukovatelných 98,29 % balíčků.

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

    Německý e-shop Škoda Auto byl hacknut. Útočníci získali přístup k uživatelským údajům (jméno, adresa, e-mail, heslo, telefon, …).

    Ladislav Hagara | Komentářů: 5
    včera 11:22 | Pozvánky

    Na webu konference Den IPv6 2026, která se uskuteční 4. června v Národní technické knihovně v pražských Dejvicích, je nyní k dispozici kompletní program této tradiční akce věnované tématům spojeným s protokolem IPv6. Na celodenní pásmo přednášek je třeba se přihlásit a zaplatit účastnický poplatek 242 korun. Registrační formulář najdou zájemci opět na webu akce. Konferenci Den IPv6 2026 organizují i letos společně sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (9%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (25%)
    Celkem 1596 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Awk - funkce, více vstupních souborů

    23.12.2018 09:18 Lukáš
    Awk - funkce, více vstupních souborů
    Přečteno: 525×
    Příloha:
    Dobrý den, mohl bych poprosit o pomoc s awk? Mám soubor dcout1.active a zajímají mě čísla z tabulky Input-Output in F Format z 5. a šestého sloupce z konce souboru (řádek 27945) kromě řádku začínajícího 26. Všechna čísla bych chtěl useknout za 6 desetinných míst Jak se udělá, aby se nejdřív počítalo a pak se použila funkce t? /^11 / { print t($5*180/3.141592653589) "\n" t($6*180/3.141592653589); }

    Současný příkaz: /^$/ { flag=0; next; } /D Format/ { flag=0; next; } /F Format/ { flag=1; next; } /^ 9 / { print t($5) "\n" t($6); } /^10 / { print t($5) "\n" t($6); } /^11 / { print t($5*180/3.141592653589) "\n" t($6*180/3.141592653589); } /^15 / { print t($5*100) "\n" t($6*100); } /^16 / { print t($5) "\n" t($6); } /^20 / { print t($5*10) "\n" t($6*10); } /^23 / { print t($5) "\n" t($6); } /^24 / { print t($5) "\n" t($6); } function t(n, s) { s=index(n,"."); return (s ? substr(n,1,s+6) : n); }

    Jak napsat více vstupních souborů? awk -f code dcout1.active dcout2.active dcout3.active..... Jde to lépe?

    Proč mám špatně vyhraněnou tu oblast? Vypisují se tam i hodnoty z následující tabulky.

    Děkuji moc

    Odpovědi

    23.12.2018 09:20 abcde
    Rozbalit Rozbalit vše Re: Awk - funkce, více vstupních souborů
    Ahoj, nemůžeš dát k dispozici i ta data? Abychom si to mohli zkusit
    23.12.2018 09:32 Lukáš
    Rozbalit Rozbalit vše Re: Awk - funkce, více vstupních souborů
    Je to ten soubor dcout1.active nahoře.
    23.12.2018 10:15 Lukáš
    Rozbalit Rozbalit vše Re: Awk - funkce, více vstupních souborů
    Příloha:
    Tady je ještě druhý
    23.12.2018 10:17 Lukáš
    Rozbalit Rozbalit vše Re: Awk - funkce, více vstupních souborů
    Šlo by pak z každého souboru vypsat výstup - 16 čísel buď jako sloupce vedle sebe nebo jako řádky - jeden z jednoho souboru? Děkuji
    23.12.2018 10:25 abcde
    Rozbalit Rozbalit vše Re: Awk - funkce, více vstupních souborů
    Jo, oboji jde stahnout, az budu mit chvili zkusim na to mrknout, pripadne to zkusi nekdo jiny :0)
    23.12.2018 10:53 NN
    Rozbalit Rozbalit vše Re: Awk - funkce, více vstupních souborů
    Zeptam se jinak. Ten software, ze ktereho je export,co je to? Nedalo by se to premluvit k lepsimu vystupu samotneho exportu?
    23.12.2018 14:06 Lukáš
    Rozbalit Rozbalit vše Re: Awk - funkce, více vstupních souborů
    Je to výstup z programu PHOEBE, do toho bych nezasahoval. Vlatně mi ani nejde tak o to, že nefunguje ta oblast. Hlavně bych potřeboval ten výpočet s tím useknutím na 6 desetinných míst. a udělat to pro několik souborů najednou. Tamto si umažu.
    23.12.2018 14:11 Lukáš
    Rozbalit Rozbalit vše Re: Awk - funkce, více vstupních souborů
    Třeba tento program přesně tu oblast vypisoval:

    /^$/ { flag=0; next; } /D Format/ { flag=0; next; } /F Format/ { flag=1; next; } /^26 / { next; } flag && /^ *[0-9]/ { print t($5) "\n" t($6); } function t(n, s) { s=index(n,"."); return (s ? substr(n,1,s+6) : n); }

    a to

    43.685030

    0.106608

    0.080182

    0.000675

    2.734748

    0.011468

    0.219356

    0.001769

    83.864830

    0.115873

    2.250249

    0.004792

    3.936308

    0.005290

    7.491860

    0.009210

    ale potřeboval bych tam zahrnout to počítání.
    23.12.2018 22:22 pavele
    Rozbalit Rozbalit vše Re: Awk - funkce, více vstupních souborů
    Nevím jestli to pomůže, ale já jsem zaokrouhloval nějak takto:
    # promenna FS urcuje oddelovac sloupcu, v mem pripade je to ;
    # promenna OFMT urcuje pocet desetinnych mist a mezery mezi cisly
    echo " Aritmeticky prumer dat od $USERDATE3 $USERTIME1 do $USERDATE4 $USERTIME2" >/datalog_bin/prumer/ctiprumer.$$
    awk --use-lc-numeric 'BEGIN { FS = " "; print " Merici ustredna Difuse (OS GNU/Linux with Tux Inside)" }
    { s=s+$2; s1=s1+$3; s2=s2+$4; s3=s3+$5; s4=s4+$6; s5=s5+$7; s6=s6+$8; s7=s7+$9;\
     s8=s8+$10; s9=s9+$11; s10=s10+$12; s11=s11+$13; s12=s12+$14; s13=s13+$15; s14=s14+$16; s15=s15+$17 }
    END { OFMT= "%3.2f ";
     print ""
     printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_0", s/NR+0.00001, "%RH ", "Prumerna_vlhkost_Skrin_1")
     printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_1", s1/NR+0.00001, "°C ", "Prumerna_teplota_Skrin_1")
     printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_2", s2/NR+0.00001, "     ", " ")
     printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_3", s3/NR+0.00001, "     ", " ", " ")
     printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_4", s4/NR+0.00001, "%RH ", "Prumerna_vlhkost_Skrin_2")
     printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_5", s5/NR+0.00001, "\260C ", "Prumerna_teplota_Skrin_2")
     printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_6", s6/NR+0.00001, "     ", " ")
     printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_7", s7/NR+0.00001, "     ", " ")
     printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_8", s8/NR+0.00001, "%RH ", "Prumerna_vlhkost_Skrin_3")
     printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_9", s9/NR+0.00001, "\260C ", "Prumerna_teplota_Skrin_3")
     printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_10", s10/NR+0.00001, "   ", " ")
     printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_11", s11/NR+0.00001, "   ", " ")
     printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_12", s12/NR+0.00001, "%RH ", "Prumerna_vlhkost_okoli")
     printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_13", s13/NR+0.00001, "\260C ", "Prumerna_teplota_okoli")
     printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_14", s14/NR+0.00001, "kPa ", "Prumerny_tlak_vzduchu")
     printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_15", s15/NR+0.00001, "   ", " ")}' \
    < /datalog_bin/prumer/doprumeru.dat.$$ >>/datalog_bin/prumer/ctiprumer.$$
    
    
    Výstup je takový:
     CHANNEL_0       59,91 %RH  Prumerna_vlhkost_Skrin_1                
     CHANNEL_1       22,71  °C  Prumerna_teplota_Skrin_1                
     CHANNEL_2        0,00                                               
     CHANNEL_3        0,00                                               
     CHANNEL_4       52,60 %RH  Prumerna_vlhkost_Skrin_2                
     CHANNEL_5       23,08  `C  Prumerna_teplota_Skrin_2                
     CHANNEL_6        0,00                                               
     CHANNEL_7        0,00                                               
     CHANNEL_8       73,46 %RH  Prumerna_vlhkost_Skrin_3                
     CHANNEL_9       22,68  `C  Prumerna_teplota_Skrin_3                
     CHANNEL_10       0,00                                              
     CHANNEL_11       0,00                                              
     CHANNEL_12      42,59 %RH  Prumerna_vlhkost_okoli                  
     CHANNEL_13      21,30  `C  Prumerna_teplota_okoli                  
     CHANNEL_14      99,10 kPa  Prumerny_tlak_vzduchu                   
     CHANNEL_15       0,00
    
    Více vstupních souborů:
    hlavicka="/datalog_bin/tlak-vzduchu-html/hlavicka"
    last200csv="/datalog_bin/tlak-vzduchu-html/200.csv"
    paticka0="/datalog_bin/tlak-vzduchu-html/paticka0"
    paticka="/datalog_bin/tlak-vzduchu-html/paticka"
    
    {                           #Start podminky
    if (hlavicka == 1)          #Pokud je promenna hlavicka=1, tiskni soubor1 (hlavicka)
      print
    if (hlavicka == 2)          #Pokud je promenna hlavicka=2, uprav soubor2 (200.csv)
    
    {                           #Start programu - uprav soubor2
    split($18, datum, "[\t -]")
    $18 = datum [3] "." datum [2] "." datum [1] " " datum [4]
                                                         #Vypocet relativniho tlaku vzduchu
    AbsPress = $16                                        #Absolutni tlak v kPa
    ElevationDifuse = "217"                               #Nadmorska vyska v m
    GravConst = "9,80665"                                 #Isaac Newton
    GasConst = "287,04"                                   #Merna plynova konstanta R = 287,04 J/K
    AverTempDifuse = $15 + (ElevationDifuse * "0,0025")   
    RelPressDifuse = AbsPress/exp(-ElevationDifuse * GravConst/(GasConst * ( "273,15" + AverTempDifuse ))) * 10* "1,0012"
    
    format1 = " %s ""\n"
    format2 = " %.2f °C ""\n"
    format3 = " %.3f kPa ""\n"
    format4 = " %.2f HPa ""\n"
    
    
    if ($0 !~ /[a-z]/) #V datech je radek s textem, ktery musim odfiltrovat
       {
       printf "" "\n"
       printf (format1 format2 format3 format4, $18, $15, $16, RelPressDifuse "\n")
       print "" "\n"
       }
    else
       {
       next
       }
    
    }                    #Stop programu
    
    
    if (hlavicka == 3)          #Pokud je promenna hlavicka=7, print tabletty1
    {
    print
    }
    
    { if (hlavicka == 4)          #Pokud je promenna hlavicka=3, print paticka0
    print
    }
    
    { if (hlavicka == 5)          #Pokud je promenna hlavicka=3, print aktualnihodnoty
    print 
    }
    
    { if (hlavicka == 6)          #Pokud je promenna hlavicka=3, print paticka
    print
    }
    
    
    }' hlavicka=1 "$hlavicka" hlavicka=2 "$last200csv" hlavicka=3 "$tabletty1" hlavicka=4 "$paticka0" hlavicka=5 "$aktualnihodnoty" hlavicka=6 "$paticka" |tee \
    "$destination1" "$destination2" >/dev/null
    
    done
    
    
    25.12.2018 07:19 Lukáš
    Rozbalit Rozbalit vše Re: Awk - funkce, více vstupních souborů
    Mockrát děkuji

    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.