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 12:33 | Zajímavý projekt

    Byl představen editor MonoSketch, webová aplikace pro tvorbu diagramů, technických nákresů, flowchartů a různých dalších vizualizací, to vše jenom z ASCII znaků. Všechny operace běží pouze v prohlížeči uživatele a neprobíhá tedy žádné nahrávání dat na server. Zdrojový kód aplikace (drtivá většina Kotlin, žádné C#) je dostupný na GitHubu pod licencí Apache 2.0.

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 12:22 | Nová verze

    Byla vydána nová verze 3.7.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.

    Ladislav Hagara | Komentářů: 0
    včera 05:00 | Komunita

    Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).

    Ladislav Hagara | Komentářů: 6
    13.2. 19:44 | Zajímavý projekt

    Eric Migicovsky představil Pebble Emulator, tj. emulátor hodinek Pebble (PebbleOS) běžící ve webovém prohlížeči. Za 6 hodin jej napsal Claude Code. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.2. 17:44 | Nová verze

    Byla vydána nová verze 3.41 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.11 souvisejícího programovacího jazyka Dart (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    13.2. 12:11 | IT novinky

    Rusko zcela zablokovalo komunikační platformu WhatsApp, řekl včera mluvčí Kremlu Dmitrij Peskov. Aplikace, jejímž vlastníkem je americká společnost Meta Platforms a která má v Rusku na 100 milionů uživatelů, podle Peskova nedodržovala ruské zákony. Mluvčí zároveň lidem v Rusku doporučil, aby začali používat domácí aplikaci MAX. Kritici tvrdí, že tato aplikace ruské vládě umožňuje lidi sledovat, což úřady popírají.

    Ladislav Hagara | Komentářů: 16
    13.2. 11:44 | IT novinky

    Před 34 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.

    Ladislav Hagara | Komentářů: 2
    13.2. 04:44 | Humor

    Agent umělé inteligence vytvořil 'útočný' článek o Scottu Shambaughovi, dobrovolném správci knihovny matplotlib, poté, co vývojář odmítl agentem navrženou změnu kódu (pull request). 'Uražený' agent autonomně sepsal a publikoval na svém blogu článek, který přisuzuje Shambaughovi smyšlené motivace, egoismus a strach z AI coby konkurence.

    NUKE GAZA! 🎆 | Komentářů: 31
    12.2. 20:11 | Nová verze

    Bylo vydáno Ubuntu 24.04.4 LTS, tj. čtvrté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    12.2. 17:44 | Pozvánky

    V pátek 20. února 2026 se v pražské kanceláři SUSE v Karlíně uskuteční 6. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj a uživatelský prostor. Akce proběhne od 10:00 do večera. Hackday je určen všem, kteří si chtějí prakticky vyzkoušet práci s linuxovým jádrem i uživatelským prostorem, od posílání patchů například pomocí nástroje b4, přes balíčkování a Flatpak až po drobné úpravy

    … více »
    lkocman | Komentářů: 7
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (11%)
     (27%)
     (3%)
     (4%)
     (1%)
     (12%)
     (27%)
    Celkem 870 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    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: 521×
    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.