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

    Společnost AMD na veletrhu Computex 2024 představila (YouTube) mimo jiné nové série procesorů pro desktopy AMD Ryzen 9000 a notebooky AMD Ryzen AI 300.

    Ladislav Hagara | Komentářů: 0
    dnes 16:22 | Nová verze

    OpenCV (Open Source Computer Vision, Wikipedie), tj. open source multiplatformní knihovna pro zpracování obrazu a počítačové vidění, byla vydána ve verzi 4.10.0 . Přehled novinek v ChangeLogu. Vypíchnout lze Wayland backend pro Linux.

    Ladislav Hagara | Komentářů: 0
    dnes 14:00 | Zajímavý software

    Národní superpočítačové centrum IT4Innovations s partnery projektu EVEREST vydalo sadu open source vývojových nástrojů EVEREST SDK pro jednodušší nasazení aplikací na heterogenních vysoce výkonných cloudových infrastrukturách, zejména pro prostředí nabízející akceleraci pomocí FPGA.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | IT novinky

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu aktuálně činí 2,32 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Ubuntu, Linux Mint a Manjaro Linux. Při výběru jenom Linuxu vede SteamOS Holo s 45,34 %. Procesor AMD používá 75,04 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 4
    dnes 11:33 | Pozvánky

    Blíží se léto, chladiče topí, tranzistory se přehřívají, novinářům pomalu docházejí témata a nastává klasická okurková sezóna. Je tomu tak i mezi bastlíři? Na to se podíváme na Virtuální Bastlírně! Tentokrát se strahováci podívají na zoubek velmi slibně vypadajícímu open-source EDM projektu - ne, nejde o taneční hudbu, ale o elektroobrábění. Ukáží taky, jak vypadá starší cykloradar zevnitř nebo jak se testuje odolnost iPhonů.

    … více »
    bkralik | Komentářů: 0
    dnes 11:22 | Humor

    CEO Microsoftu Satya Nadella odstoupil z představenstva Starbucks [CNBC, SEC].

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Upozornění

    Společnosti Ticketmaster byla odcizena databáze s osobními údaji (jméno, adresa, telefonní číslo a část platebních údajů) 560 miliónů zákazníku. Za odcizením stojí skupina ShinyHunters a za nezveřejnění této databáze požaduje 500 tisíc dolarů [BBC].

    Ladislav Hagara | Komentářů: 18
    31.5. 23:55 | Nová verze

    Byla vydána nová stabilní verze 24.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Uakari. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    31.5. 17:33 | Nová verze

    Byla vydána nová verze 1.48.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Mimo jiné se v nastavení místo mac-address-blacklist nově používá mac-address-denylist.

    Ladislav Hagara | Komentářů: 32
    31.5. 17:11 | Komunita

    Před 25 lety, 31. května 1999, započal vývoj grafického editoru Krita (Wikipedie). Tenkrát ještě pod názvem KImageShop a později pod názvem Krayon.

    Ladislav Hagara | Komentářů: 9
    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: 479×
    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.