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 22:55 | Zajímavý článek

V bitmapových obrázcích bývají často ukrytá užitečná data, která jsou ovšem běžně nepřístupná. V článku Full-textové prohledávání komiksů a jiných obrázků (dostupné přes Tor) autor prakticky ukazuje, jak si postahovat komiksy a rozpoznat v nich text pomocí OCR nástroje Tesseract. Následně Ghostscriptem vkládá všechny komiksy do jednoho velkého PDF, ve kterém jde vyhledávat text (který byl původně jen shlukem grafických bodů v bitmapách). Uvedený postup lze použít i k užitečnějším věcem, jako např. indexování nestrukturovaných dat na disku.

Monika Kokešová | Komentářů: 3
včera 22:44 | Pozvánky

17. až 19. května se uskuteční další ročník putovní konference české a slovenské Drupal komunity - tentokrát v Hustopečích na Moravě. Bude se věnovat nejnovějším trendům v Drupalu, ale i v postupech a nástrojích pro vývoj a správu webových aplikací. Můžete se těšit na odborné přednášky, workshopy, neformální debaty i přehlídku nejzajímavějších projektů. Podrobnosti a vstupenky najdete na drupalcs.camp.

Eva Rázgová | Komentářů: 0
včera 22:22 | Nová verze

Byla vydána verze 4.0 textového editoru GNU nano (Wikipedie). Podrobný přehled novinek a oprav v oznámení v diskusním listu info-nano nebo v souboru ChangeLog na Savannah.

Ladislav Hagara | Komentářů: 0
23.3. 17:11 | Komunita

Na konferenci herních vývojářů GDC 2019 (Game Developers Conference) měla svůj stánek i společnost Red Hat. Návštěvníci si mohli zahrát počítačové hry na Fedoře 29 s Cinnamonem a Lutrisem.

Ladislav Hagara | Komentářů: 0
23.3. 15:33 | Komunita

O víkendu probíhá v Cambridgi (MA) konference LibrePlanet 2019 organizovaná Nadací pro svobodný software (FSF). Na programu je řada zajímavých přednášek. Sledovat je lze také online.

Ladislav Hagara | Komentářů: 1
22.3. 21:33 | Humor

Richard M. Stallman v článku Install Fests: What to Do about the Deal with the Devil navrhuje, jak se vypořádat s morálním dilematem, zda na „installfestech“ (akcích, kde zkušení uživatelé pomáhají nováčkům nainstalovat GNU/Linux na přinesený hardware) instalovat také nesvobodný software, typicky ovladače. Vzdělávací přístup je „škola hrou“, kdy instalace právě nesvobodného softwaru provádí postava „Ďábla“.

Fluttershy, yay! | Komentářů: 11
22.3. 14:44 | Komunita

Dalších sedm produktů od společnosti ThinkPenguin získalo certifikaci RYF (Respects Your Freedom, Respektuje vaši svobodu) udělovanou Nadací pro svobodný software (FSF). Poprvé získal certifikaci USB mikrofon, konkrétně TPE-USBMIC. Certifikace RYF byla představena v říjnu 2012.

Ladislav Hagara | Komentářů: 0
22.3. 13:33 | Komunita

Na Humble Bundle lze získat počítačovou hru Tacoma (YouTube, Wikipedie) běžící také v Linuxu zdarma. Speciální akce končí v neděli v 18:00.

Ladislav Hagara | Komentářů: 0
22.3. 11:11 | Zajímavý projekt

Na Kickstarteru byla spuštěna kampaň na podporu zařízení NexDock 2. Jedná se o přenosnou dokovací stanici aneb notebook bez procesoru a paměti. Stačí připojit podporovaný telefon s Androidem nebo Raspberry Pi.

Ladislav Hagara | Komentářů: 0
22.3. 09:55 | Zajímavý článek

Před týdnem byly vydány nové verze 4.2.11.1, 5.0.7.2, 5.1.6.2, 5.2.2.1 a 6.0.0.beta3 frameworku pro vývoj webových aplikací Ruby on Rails (Wikipedie). Opraveny byly 3 bezpečnostní chyby: CVE-2019-5418, CVE-2019-5419 a CVE-2019-5420. Analýza CVE-2019-5418 (zobrazit si lze libovolný soubor na serveru, například /etc/passwd) na blogu Chybeta.

Ladislav Hagara | Komentářů: 1
Kolik balíčků (v tisících) máte nainstalovaných na svém systému?
 (4%)
 (14%)
 (33%)
 (30%)
 (19%)
 (3%)
 (2%)
 (1%)
 (3%)
Celkem 234 hlasů
 Komentářů: 23, poslední včera 17:36
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: 404×
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.