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 08:00 | IT novinky

    Platformy ChatGPT i Roblox by mohly být zařazeny na seznam mimořádně velkých on-line platforem nebo internetových vyhledávačů, na něž se vztahují zvláštní podmínky podle nařízení o digitálních službách (DSA). Vzhledem k tomu, že ChatGPT i Roblox oznámily počet uživatelů nad prahovou hodnotou DSA, je toto označení „rozhodně možné“ a mohlo by „přijít dříve či později“. On-line platformy a vyhledávače zařazené na seznamy DSA musejí

    … více »
    Ladislav Hagara | Komentářů: 4
    5.8. 17:00 | Zajímavý software

    Společnost Cloudflare představila Cloudflare OS (GitHub), tj. open source platformu navrženou pro integraci umělé inteligence (agentů) přímo do pracovních procesů organizací.

    Ladislav Hagara | Komentářů: 0
    5.8. 12:44 | Nová verze

    Byla vydána nová verze 5.13 svobodného multiplatformního softwaru pro konverzi a zpracování digitálních fotografií primárně ve formátů RAW RawTherapee (Wikipedie). Vedle zdrojových kódů je k dispozici také balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

    Ladislav Hagara | Komentářů: 0
    4.8. 20:44 | Zajímavý článek

    Jean-Baptiste Kempf na svém blogu představil novou verzi 9.0 "Lei" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    4.8. 20:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost NVIDIA.

    Ladislav Hagara | Komentářů: 0
    4.8. 12:22 | Zajímavý software

    Edvard Rejthar na blogu zaměstnanců CZ.NIC představil svou aplikaci SlideRshow (GitHub). Funguje jako prohlížeč fotek, ale i jako jejich organizér a prezentátor. Neinstaluje se, běží přímo v prohlížeči. Bez serveru. Offline.

    Ladislav Hagara | Komentářů: 11
    4.8. 11:44 | Nová verze

    Kermit, tj. protokol pro přenos souborů, vznikl před 45 lety. Při této příležitosti byla po 15 letech od vydání poslední stabilní verze 9.0.302 vydána nová stabilní verze 11 implementace C-Kermit. S podporou IPv6.

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

    První verze konverzního nástroje Pandoc byla vydána před 20 lety. Jeho autor John MacFarlane při tomto výročí rekapituluje jednotlivé etapy vývoje a přidávání nových funkcí – rozšíření nejen Markdownu a podporu mnoha dalších formátů.

    |🇵🇸 | Komentářů: 0
    4.8. 00:55 | Pozvánky

    Srpen přinesl nejen další spalující vedro, ale také Virtuální Bastlírnu s neméně žhavými novinkami. Využijte tedy předpovědi na deštivý čtvrteční večer a od 20:00 se připojte online k tomuto neformálnímu setkání kutilů, techniků a vědců, kde se strahovskými bastlíři proberete nejzajímavější věci, na které jste narazili za poslední měsíc. Pokud jde o novinky, řeč zcela jistě přijde na systém INDX pro tiskárny Průša, který na konci

    … více »
    bkralik | Komentářů: 0
    3.8. 17:22 | Zajímavý článek

    Firma T-Mobile blokovala „dezinformační web“ AC24 bez toho, aniž by k tomu měla závazný pokyn orgánů veřejné moci. Píše to ve svém rozsudku Městský soud v Praze, který po čtyřech letech uzavřel kauzu blokace zmíněného webu. Operátor musí uhradit škodu ve výši 35 tisíc korun. Advokát společnosti T-Mobile se snažil i u odvolacího senátu argumentovat tím, že firma jednala v dobré víře, když na stránky omezila přístup poté, co ji k tomu vyzvalo

    … více »
    Ladislav Hagara | Komentářů: 71
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2335 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: 547×
    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.