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 03:55 | IT novinky

    Americká technologická společnost Meta Platforms se dohodla, že zaplatí až zhruba 18 miliard dolarů (asi 373 miliard Kč) za mimosoudní urovnání sporu o závislosti dětí na sociálních sítích a provede významné změny pro jejich používání mladistvými. Téměř tři desítky států USA firmu v roce 2023 obvinily z toho, že sítě Facebook a Instagram vědomě navrhla tak, aby u dětí vyvolávaly závislost, a zatajovala tyto dopady před veřejností. Firma se

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 02:55 | Komunita

    Byl publikován aktuální přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Blíží se vydání podporující čipy M3. Vývojáře lze podpořit na GitHub Sponsors a Open Collective.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Kancelářský balík LibreOffice byl vydán ve verzi 26.8. Mimo jiné vylepšuje typografii a kompatibilitu s formáty MS Office, více v poznámkách k vydání.

    |🇵🇸 | Komentářů: 0
    včera 14:55 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.8. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 6
    včera 11:44 | Nová verze

    Byla vydána nová verze 23.1.0, tj. první stabilní verze z nové řady 23.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools, Libc++, Polly a Flang.

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Nová verze

    Google Chrome 152 byl prohlášen za stabilní. Nejnovější stabilní verze 152.0.7977.64 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 327 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 01:11 | Komunita

    Před 35 lety, 25. srpna 1991, oznámil Linus Benedict Torvalds v diskusní skupině comp.os.minix, že vyvíjí (svobodný) operační systém (jako koníček, nebude tak velký a profesionální jako GNU) pro klony 386 (486), že začal v dubnu a během několika měsíců by mohl mít něco použitelného.

    Ladislav Hagara | Komentářů: 3
    25.8. 16:33 | IT novinky

    Apple představil čipy M6 a M5 Ultra, Mac mini s M6 nebo M5 Pro a Mac Studio s M5 Max nebo M5 Ultra. Fedora Asahi Remix zatím podporuje jenom M1 a M2.

    Ladislav Hagara | Komentářů: 19
    25.8. 14:11 | Komunita

    Firefox 157 přinese zapnutou podporu rastrového grafického formátu JPEG XL. Založena je na v Rustu napsané implementaci jxl-rs používané i v Chrome a Chromiu.

    Ladislav Hagara | Komentářů: 0
    25.8. 02:11 | Nová verze

    Vanilla OS 3 „Reunion“ byl vydán. Tato na Debianu „Sid“ založená desktopová distribuce s transakčními aktualizacemi „neměnného“ základního systému (ABRoot) nově podporuje architekturu arm64 (vedle x86-64), podporuje reprodukovatelné sestavení většiny balíčků a vylepšuje systémové nástroje. Vlastní meta-správce balíčků APX nyní používá Distrobox v2 a je dostupný i pro jiné distribuce.

    |🇵🇸 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2502 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    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: 672×

    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: 30 | 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: 78 | blog: Jenda | 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: 49
    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: 63 | 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: 63 | 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.