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 13:53 | IT novinky
Dnes byla ve Štrasburku schválena v původním znění, tj. včetně kontroverzních článků 11 a 13, nová směrnice o autorských právech. Všechny členské země by tuto směrnici měly implementovat do svých zákonů do dvou let.
Max | Komentářů: 29
dnes 03:00 | Nová verze

Byla vydána verze 5 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu. Ke stažení jsou oficiální binární balíčky pro Ubuntu 18.04, Ubuntu 16.04 a Ubuntu 14.04.

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

Red Hat zveřejnil finanční výsledky za čtvrté čtvrtletí a také celý fiskální rok 2019. Ten pro Red Hat skončil již 28. února. Tržby za celý fiskální rok činily 3,4 miliardy dolarů, tj. meziroční nárůst 15 %.

Ladislav Hagara | Komentářů: 6
dnes 00:11 | Komunita

Prezident Nadace pro svobodný software (FSF) Richard M. Stallman vyhlásil na slavnostním ceremoniálu v rámci konference LibrePlanet 2019 vítěze Free Software Awards za rok 2018. Ocenění za společenský přínos získal projekt OpenStreetMap. Za rozvoj svobodného softwaru byla oceněna Deborah Nicholson. Souhrn dění na letošní konferenci LibrePlanet v příspěvcích na blogu FSF: 1. den a 2.den.

Ladislav Hagara | Komentářů: 0
včera 23:33 | Zajímavý projekt

Na Humble Bundle byla spuštěna akce Humble Book Bundle: Coder's Bookshelf by No Starch Press. Za 1 dolar a více lze koupit 4 elektronické knihy, za 8 dolarů a více lze koupit 9 elektronických knih, za 15 dolarů a více lze koupit 13 elektronických knih za 20 dolarů a více lze koupit 14 elektronických knih věnovaných programování od nakladatelství No Starch Press. Nákupem lze podpořit organizaci Freedom to Read Foundation (FTRF).

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

Byla vydána verze 0.5.0 operačního systému Redox OS (Wikipedie). Jedná se o mikrokernelový unixový operační systém naprogramovaný v programovacím jazyce Rust. Zdrojové kódy jsou k dispozici na GitLabu pod licencí MIT.

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

Dotaz: zpracovani souboru awkem

3.1.2006 16:42 Karel Borkovec | skóre: 28 | blog: HP_NX9010 | Tábor
zpracovani souboru awkem
Přečteno: 64×
Dobrý den. Řeším následující problém: Mám takovýto výpis v souboru:
  uzivatel1 in                                       :             94M
  uzivatel1 out                                      :             30M
  uzivatel2 in                                       :            315M
  uzivatel2 out                                      :             45M
  uzivatel3 in                                       :            169M
  uzivatel3 out                                      :             50M
Potřeboval bych dostat do souboru toto (tzn. sečíst odeslaná i přijatá data a zobrazit takto):
uzivatel1;	124
uzivatel2;	360
uzivatel3;	219
Zkoušel jsem to pomocí AWKu, ale hrozně v tom tápu. Neporadil by někdo prosím? Dekuji

Odpovědi

3.1.2006 18:26 razor | skóre: 33
Rozbalit Rozbalit vše Re: zpracovani souboru awkem
Pokud by si to chtěl v pythonu, tak by to šlo nějak takhle (netvrdím, že by to nešlo napsat lépe :-) )
import re

input = file('souborA', 'r')
output = file('souborB', 'w')

result = {}
try:
	for line in input.readlines():
		splitted = re.split('\s', line)
		key = splitted[0]
		value = int(re.split('\D', splitted[3])[0])
		if result.has_key(key):
			result[key] = result[key] + value
		else:
			result[key] = value
	for pairs in result.items():
		output.write(pairs[0] + ';\t' + str(pairs[1]) + '\n')
finally:
    input.close()
    output.close()
3.1.2006 20:37 Bones | skóre: 15 | blog:
Rozbalit Rozbalit vše Re: zpracovani souboru awkem

AWK neumim (ale chci se ho nekdy naucit), tak ti alespon dam linky na dokumentaci.

Ceska: Tam najdes dalsi odkazy.
Anglicka: manualova stranka, info dokument, ci GAWK manual
3.1.2006 20:55 Franta Hanzlik
Rozbalit Rozbalit vše Re: zpracovani souboru awkem
Nepopisujete presne strukturu vstupnich dat, takze zhruba :
awk 'BEGIN{MU="";SUM=0}{SUM1=gensub(/[^0-9]$/,"",1,$NF) + 0; if (MU == $1 || MU == ""){MU=$1;SUM+=SUM1} else {printf "%s - %i\n",MU,SUM; SUM=SUM1;MU=$1}}END{printf "%s - %i\n",MU,SUM}'
- nebo udelat awk script (a chmod +x) :
#!/bin/awk -f

BEGIN{MU="";SUM=0}      # MU: Minuly Uzivatel, SUM: jeho soucet dat
{SUM1=gensub(/[^0-9]$/,"",1,$NF) + 0    # na konci posledni polozky (=objem) urizni vse mimo cislice (tady rezu 'M')
if (MU == $1 || MU == ""){      # uzivatel na predchozi radce je stejny jako na aktualni nebo zacinam
        MU=$1;SUM+=SUM1
} else {
        printf "%s - %i\n",MU,SUM; SUM=SUM1;MU=$1} #zmena, vypisuji a minuly=aktualni
}
END{printf "%s - %i\n",MU,SUM} # a dotisk posledniho po zpracovani souboru
4.1.2006 01:41 Andrej | skóre: 46 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Proč AWK?

AWK je velmi dobrá věc, ale je to trochu jednodušší s drobnou pomocí sedu:


cat vstup.txt | \
sed 's/ *\([^ \t]*\).*:[ \t]*\([0-9]*\).*/\1;\t\2/' | \
awk '{ if ( par % 2 ) { sum += $2; print $1 "\t" sum; } else { sum = $2; } par++; }' \
> vystup.txt


Tady se jasně dělí úlohy: sed edituje, awk počítá. Doufám, že to takhle stačí a že to pomůže. Pokud potřebujete ještě něco jiného, stačí říct. :-)

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
4.1.2006 02:22 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: zpracovani souboru awkem
To množství dat bude vždycky v megabajtech? Pokud ne, zde máte další řešení v pythonu:
#!/usr/bin/env python
import re

infile = open('infile.dat')
regexp = re.compile(r'^\s+(\S+) (in|out)\s+:\s+(\d+)(.*)')
result={}
for line in infile.xreadlines():
  user, direction, amount, unit = re.search(regexp, line).groups()
  amount = int(amount)

  if 'G' in unit:
    amount *= 1024*1024*1024
  elif 'M' in unit:
    amount *= 1024*1024
  elif 'k' in unit:
    amount *= 1024

  try:
    result[user] += amount
  except KeyError:
    result[user] = amount

infile.close()

outfile = open('outfile.dat', 'w')
for user, amount in result.items():
  outfile.write('%s;\t%d\n' %(user, amount))
outfile.close()
A vůbec - tohle by přece měl dělat ten původní program, který vygeneroval ten soubor. Nebude lepší spíš zasáhnout do zdrojáku než parsovat výstup? Hrozí nebezpečí, že se časem změní formát nebo že bude potřeba nějaká informace, kterou původní program měl, ale nevypsal.
4.1.2006 16:19 Karel Borkovec | skóre: 28 | blog: HP_NX9010 | Tábor
Rozbalit Rozbalit vše Re: zpracovani souboru awkem
Možná by stálo ze to zasáhnout do zdrojáků toho programu (ipac-ng), ale to už je totálně nad moje znalosti...
4.1.2006 16:19 Karel Borkovec | skóre: 28 | blog: HP_NX9010 | Tábor
Rozbalit Rozbalit vše Re: zpracovani souboru awkem
Všem 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.