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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 11:44 | Zajímavý projekt

Na Indiegogo byla spuštěna kampaň na podporu herní mini konzole a multimediálního centra RetroEngine Sigma od Doyodo. Předobjednat ji lze již od 49 dolarů. Požadovaná částka 20 000 dolarů byla překonána již 6 krát. Majitelé mini konzole si budou moci zahrát hry pro Atari VCS 2600, Sega Genesis nebo NES. Předinstalováno bude multimediální centrum Kodi.

Ladislav Hagara | Komentářů: 0
dnes 00:10 | Nová verze

Byla vydána verze 4.7 redakčního systému WordPress. Kódové označením Vaughan bylo vybráno na počest americké jazzové zpěvačky Sarah "Sassy" Vaughan. Z novinek lze zmínit například novou výchozí šablonu Twenty Seventeen, náhledy pdf souborů nebo WordPress REST API.

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

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 20
včera 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 2
5.12. 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 6
5.12. 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 50
5.12. 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 10
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 26
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (8%)
 (5%)
 (3%)
Celkem 781 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Skript nebo program na "vycucnutí" dat z txt souboru..

12.4.2010 21:43 Zdenek
Skript nebo program na "vycucnutí" dat z txt souboru..
Přečteno: 424×

Ahoj. Zdravím zdejší komunitu. Měl bych někoho z Vás prosbu. Nenašel by se zde někdo tak laskavý a nanapsal mi skript či malý program např. v c, který by plnil následující funkci? Mám *.txt soubory a potřebuju z nich vycucnout vždy určité číselné údaje. Soubory jsou výstupem z iwconfigu a obsahuji položky jako signal level, link quality, tx power apod. Potřebuji z toho pak udělat tabulky v Excelu, takže by bylo dobré, kdyby ten program ty hodnoty nějak rozumně oddělil středníkama a vytvořil se csv soubor, který už Excel umí načíst.. OS mám Ubuntu 9.10. Předem moc děkuji za Váš čas.


Řešení dotazu:


Odpovědi

Chytrex avatar 12.4.2010 21:52 Chytrex | skóre: 27 | Bohumín
Rozbalit Rozbalit vše Re: Skript nebo program na "vycucnutí" dat z txt souboru..
je nějaký vážný důvod proč to musí být v C? Jde to v ruby, pythonu, php a IMO jsou všechny mnou jmenované jazyky mnohem vhodnější..
Hrdý člen KERNEL ULTRAS .:. define QUESTION ((bb) || !(bb)) .:. Odmítám vaši realitu a nahrazuji ji svou vlastní..
12.4.2010 22:29 Zdenek
Rozbalit Rozbalit vše Re: Skript nebo program na "vycucnutí" dat z txt souboru..
Muze to byt v cemkoliv.C jsem uvedl jen jako priklad.Nejsem zadny programator:-(
Jendа avatar 12.4.2010 23:19 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Skript nebo program na "vycucnutí" dat z txt souboru..
Jde to třeba grepem a sedem.
13.4.2010 07:43 cronin | skóre: 48
Rozbalit Rozbalit vše Re: Skript nebo program na "vycucnutí" dat z txt souboru..
Daj sem priklad takeho suboru.
13.4.2010 07:58 rastos | skóre: 60 | blog: rastos
Rozbalit Rozbalit vše Re: Skript nebo program na "vycucnutí" dat z txt souboru..
Viď https://www.abclinuxu.cz/poradna/linux/show/293283 - mne vtedy išlo o zistenie či posunutie antény o meter ďalej, trocha za roh a prípadne výmena WiFi USB adaptéra, má výrazný vplyv na kvalitu spojenia. (Nemá. Signál občas výrazne zakolíše, ale v priemere je to fuk.)

Odpoveď na pôvodnú otázku:
while (true)
do
iwlist wlan0 scan |grep Quality >> vystup.csv
sleep 10
done
A potom importnúť výstup.csv s tým, že oddeľovač je medzera. Ak chytíš viac ako jednu sieť, tak sa treba pohrať s grep-om:

iwlist wlan0 scan |grep -A 'ESSID:"mojasiet"' |grep Quality

alebo tak nejak.
13.4.2010 07:59 rastos | skóre: 60 | blog: rastos
Rozbalit Rozbalit vše Re: Skript nebo program na "vycucnutí" dat z txt souboru..
oprava:

iwlist wlan0 scan |grep -A 8 'ESSID:"mojasiet"' |grep Quality
13.4.2010 08:52 Zdenek
Rozbalit Rozbalit vše Re: Skript nebo program na "vycucnutí" dat z txt souboru..
Příloha:
Nepoužíval jsem iwlist na skenování okolí, zajímali mě údaje jen mého "spojení", proto iwconfig. Přikladám ukázku souboru, ze kterého chci importovat..
Fuky avatar 13.4.2010 11:58 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Skript nebo program na "vycucnutí" dat z txt souboru..
Příloha:
#! /usr/bin/env python
# -*- coding: utf-8 -*-

import re
import sys

# Link Quality=75/100  Signal level=-59 dBm  Noise level=-127 dBm
# Bit Rate=54 Mb/s   Tx-Power=27 dBm
PATTERNS = [
    re.compile(r"""Link Quality=([0-9]+)/([0-9]+)\s+Signal level=(-[0-9]+) dBm\s+Noise level=(-[0-9]+) dBm"""),
    re.compile(r"""Bit Rate=([0-9]+) Mb/s\s+Tx-Power=([0-9]+) dBm"""),
]

while (True):
    line = sys.stdin.readline()
    if (not line):
        break

    for pattern in PATTERNS:
        m = pattern.match(line.strip())
        if (not m):
            continue

        for group in m.groups():
            sys.stdout.write("%s;" % group)
        sys.stdout.write("\n")

Použití:

$ chmod +x parse.py
$ ./parse.py <input.txt
75;100;-59;-127;
54;27;
75;100;-59;-127;
54;27;
75;100;-59;-127;
13.4.2010 11:59 JaSel | skóre: 17 | blog: kseles
Rozbalit Rozbalit vše Re: Skript nebo program na "vycucnutí" dat z txt souboru..
Ještě by bylo dobré napsat, jak si představuješ výstup. Pokud chceš jenom sloupce čísel, tak obecně bych postupoval takto:

1) Ten výpis je po trojřádcích, takže první krok by byl grep na nějaký výraz ze zpracovávaných řádků. Proto, že ti pak pro další zpracování vzniknou podčásti s jiným počtem sloupců.

2) Nahradil bych rovnítka mezerou pomocí tr.

3) Vytáhnul bych relevantní sloupce pomocí awk.Oddělovač (středník) bych asi nacpal rovnou do příkazu pro awk.

4) Jestli to chceš v jednom souboru, tak si pak výsledky spoj pomocí paste.
13.4.2010 12:19 NeoV | skóre: 23
Rozbalit Rozbalit vše Re: Skript nebo program na "vycucnutí" dat z txt souboru..
mozes to spravit napr takto:
perl -e 'open FH,"155530-pujde-14396.txt"; while(<FH>) {$f.=$_}; while($f=~/=(\S+\s{0,1}\S*)[^=]+=(\S+\s{0,1}\S*)[^=]+=(\S+\s{0,1}\S*)[^=]+=(\S+\s{0,1}\S*)[^=]+=(\S+\s{0,1}\S*)/sg) {print join(";",$1,$2,$3,$4,$5)."\n"}; close FH;' > vystup.csv
13.4.2010 12:20 NeoV | skóre: 23
Rozbalit Rozbalit vše Re: Skript nebo program na "vycucnutí" dat z txt souboru..
Vystup potom vyzera takto:
54 Mb/s;27 dBm;74/100 ;-60 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;74/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;74/100 ;-60 dBm;-127 dBm
54 Mb/s;27 dBm;74/100 ;-60 dBm;-127 dBm
54 Mb/s;27 dBm;74/100 ;-60 dBm;-127 dBm
54 Mb/s;27 dBm;73/100 ;-60 dBm;-127 dBm
54 Mb/s;27 dBm;73/100 ;-61 dBm;-127 dBm
54 Mb/s;27 dBm;73/100 ;-61 dBm;-127 dBm
54 Mb/s;27 dBm;72/100 ;-62 dBm;-127 dBm
54 Mb/s;27 dBm;73/100 ;-61 dBm;-127 dBm
54 Mb/s;27 dBm;73/100 ;-61 dBm;-127 dBm
54 Mb/s;27 dBm;72/100 ;-61 dBm;-127 dBm
54 Mb/s;27 dBm;72/100 ;-61 dBm;-127 dBm
54 Mb/s;27 dBm;73/100 ;-61 dBm;-127 dBm
54 Mb/s;27 dBm;72/100 ;-61 dBm;-127 dBm
54 Mb/s;27 dBm;73/100 ;-61 dBm;-127 dBm
54 Mb/s;27 dBm;74/100 ;-60 dBm;-127 dBm
54 Mb/s;27 dBm;73/100 ;-61 dBm;-127 dBm
54 Mb/s;27 dBm;74/100 ;-60 dBm;-127 dBm
54 Mb/s;27 dBm;74/100 ;-60 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;76/100 ;-58 dBm;-127 dBm
54 Mb/s;27 dBm;76/100 ;-58 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;74/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;73/100 ;-60 dBm;-127 dBm
54 Mb/s;27 dBm;72/100 ;-62 dBm;-127 dBm
54 Mb/s;27 dBm;72/100 ;-61 dBm;-127 dBm
54 Mb/s;27 dBm;73/100 ;-61 dBm;-127 dBm
54 Mb/s;27 dBm;74/100 ;-60 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
54 Mb/s;27 dBm;75/100 ;-59 dBm;-127 dBm
13.4.2010 13:01 NeoV | skóre: 23
Rozbalit Rozbalit vše Re: Skript nebo program na "vycucnutí" dat z txt souboru..
hmm este ma napadlo ze si chcel len cislice... tak potom:
perl -e 'open F,"155530-pujde-14396.txt"; while(<F>) {$f.=$_}; while($f=~/=(-?\d+)[^=]+=(-?\d+)[^=]+=(-?\d+)[^=]+=(-?\d+)[^=]+=(-?\d+)/sg) {print join(";",$1,$2,$3,$4,$5)."\n"}; close F;' > vystup.csv
a vystup vyzera:
54;27;74;-60;-127
54;27;75;-59;-127
54;27;75;-59;-127
54;27;74;-59;-127
54;27;75;-59;-127
...
13.4.2010 18:30 Zdenek
Rozbalit Rozbalit vše Re: Skript nebo program na "vycucnutí" dat z txt souboru..
Super. Díky kluci. Zatím to funguje podle mých představ. Pokud bych měl nějaký dotaz ještě se ozvu. A moc děkuji !
19.4.2010 09:44 Zdenek
Rozbalit Rozbalit vše Re: Skript nebo program na "vycucnutí" dat z txt souboru..
Příloha:
Ahoj. Jsem tu znovu a doufám že už pro poslední radu :-)

Tentokráte bych potřeboval vycucnout rychlost z log souboru wgetu. Chtěl bych Vás tedy poprosit u nějakou úpravu stávajících(pokud to lze). Já to jako neprogramátor nepobírám vůbec. Pokud jsem stahoval velky soubor, průměrná rychlost je uvedena na konci, ale já stahoval 100 x malý soubor po pár kB a sčítat to a dělit manuálně, abych dostal průměrnou rychlost, by bylo opravdu na dlouho. Stačil by opět export do csv, klidně samostatné hodnoty pod sebou. Přikládám na ukázku jak vypadá můj log výstup. 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.