Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.
Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
sys.argv[1];Tedy vypise svuj prvni parametr. Jakym zpusobem musim skript upravit, aby fungoval obemi temito moznostmi:
$ ./skript test test $ echo test | ./skript test
Řešení dotazu:
sys.stdin.
Příklad, mějme soubor pokus.py:
#!/bin/env python import sys nejakadatazestdin = sys.stdin.readlines() print nejakadatazestdina pro otestovaní:
echo pokus.py | ./pokus.py
for line in sys.stdin:
dělej něco...
což by ze znalosti, že souborový objekt odpovídající stdin je sys.stdin, mělo jít odvodit...
#!/bin/bash while [ 1 ]; do echo "Tik" sleep 1 doneNyni chci napsat skript test.py takovy, aby to fungovalo takto:
$ ./test.sh | ./test.py Tik Tik Tik Tik ^Ccoz s tim vasim resenim nefunguje.
while True:
print sys.stdin.readline() (funkcia readline ale na konci reťazca necháva znak \n)
Skript funguje, ale data visí v bufferu a jelikož jich nepřišlo takové množství, aby se buffer vyprázdnil, tak si myslíš, že to nešlape. Nažeň tam víc dat a uvidíš, že to jde. Nejlépe by jsi udělal kdyby jsi přesně popsal co potřebuješ, aby se případně dalo nadhodit vhodnější řešení.
$ sudo tcpdump -A -s 1400 'dst port 80' -i wlan0 | grep GETMi vypisuje jednotlive GET pozadavky, ktere chodi pres wlan0. Co radek, to pozadavek. Pozavek se do konzole vypise vzdy ihned pote co dorazi na wlan0 interface. Ja potrebuji pouze python script, ktery ty retezce (GET pozadavky) bude dostavat na stdin a ihned je vypisovat (pak skript samozrejme upravim, aby i neco s tema retezcema delal). Tzn, chci dosahnout toho, aby prikazy
$ sudo tcpdump -A -s 1400 'dst port 80' -i wlan0 | grep GETi
$ sudo tcpdump -A -s 1400 'dst port 80' -i wlan0 | grep GET | ./skript.pymely stejny vystup.
Šlo mi spíš o nějaké reálné nasazení, možná by Ti totiž místo tcpdump vyhovoval více přímo modul do Pythonu Pcapy (je součástí Lennyho, třeba bude přímo i v Tvé distibuci).
import sys
while True:
print sys.stdin.readline().strip()
musí
tcpdump -ldělat totéž co
tcpdump -l | ./test.pyTentokrát i ověřeno.
for line in sys.stdin: ..., což mělo být nejčitější a nejpythonovější řešení. Konstrukce sice používá lazy evaluation, jenže souborové objekty kvůli efektivitě provádějí jakěsi vnitřní bufferování, takže člověk ty řádky stejně nedostane po jednom. Nezjistil jsem, jak/zda se dá vypnout.
sudo tcpdump -l -A -s 1400 'dst port 80' -i eth0 | grep --line-buffered GET | ./skript.pyDulezity je parametr -l u tcpdumpu a --line-buffered u grepu. Dekuji vsem za pomoc.
Tiskni
Sdílej: