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.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
curl -c curlcookies.txt -d "loginName=A999&loginPass=1&loginLevel=B" http://74.219.212.106/cgi-bin/login.cgi?command=0
curl -b curlcookies.txt http://74.219.212.106/cgi-bin/eventLog.cgi?command=0
Takhle by to mělo mělo být správně, ale místo dat mi to stáhne html kod stránky, nevíte, v čem dělám chybu?
ExpTimeNow="`date '+%F %R:%S' --date '3600 seconds'`" ExpTimeGMT="`date '+%a, %d %b %Y %R:%S GMT' --date \"$ExpTimeNow\"`" ExpTimeTmp="`date +%s --date \"$ExpTimeNow\"`" ExpTime="`echo \"$ExpTimeTmp * 1000\" | bc `" curl -c curlcookies.txt -e 'http://74.219.212.106/cgi-bin/login.cgi' -A 'Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.2) Gecko/20121223 Ubuntu/9.25 (jaunty) Firefox/3.0' -d "loginName=A999&loginPass=1&loginLevel=B&exp=$ExpTime&expstring=$ExpTimeGMT&command=1" http://74.219.212.106/cgi-bin/login.cgi curl -b curlcookies.txt http://74.219.212.106/cgi-bin/eventLog.cgi?command=0Poslední stáhne tu stránku ale žádný event tam není (aspoň fčul) tak jsem to zkusil za včerejšek a je to tam - teda jestli to jste chtěl.
curl -b curlcookies.txt 'http://74.219.212.106/cgi-bin/eventLog.cgi?command=0&name=&id=&period=2&dayFrom=0&dayTo=0&dept=-999&trigger=-1'
curl -c curlcookies.txt -d "loginName=A999&loginPass=1&loginLevel=B&command=1" http://74.219.212.106/cgi-bin/login.cgicurl -b curlcookies.txt http://74.219.212.106/cgi-bin/eventLog.cgi?command=0curl -b curlcookies.txt http://74.219.212.106/cgi-bin/eventLog.cgi?command=0
To vyhodi tohle...
Session Timeout...This page has been idle more than 3600 seconds
Tak kde je teda problem..
ExpTimeNow="`date '+%F %R:%S' --date '3600 seconds'`" ExpTimeGMT="`date '+%a,%%20%d%%20%b%%20%Y%%20%R:%S%%20GMT' --date \"$ExpTimeNow\"`" ExpTimeTmp="`date +%s --date \"$ExpTimeNow\"`" ExpTime=$(($ExpTimeTmp * 1000)) curl -c curlcookies.txt -e 'http://74.219.212.106/cgi-bin/login.cgi' -A 'Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.2) Gecko/20121223 Ubuntu/9.25 (jaunty) Firefox/3.0' -d "loginName=A999&loginPass=1&loginLevel=B&exp=$ExpTime&expstring=$ExpTimeGMT&command=1" http://74.219.212.106/cgi-bin/login.cgi curl -b curlcookies.txt http://74.219.212.106/cgi-bin/eventLog.cgi?command=0
curl -c curlcookies.txt -d "loginName=A999&loginPass=1 &loginLevel=B&command=1" http://74.219.212.106/cgi-bin/login.cgi > log.html
curl -b curlcookies.txt http://74.219.212.106/cgi-bin/ eventLog.cgi?command=0 > out.html
curl -b curlcookies.txt http://74.219.212.106/cgi-bin/report.cgi?command=0&elemployeename=&elemployeeid=&elperiod=2&dayFrom=0&dayTo=0&elemployeedept=-999&eltrigger=-1&format=1
Tohle když zadám do internetového prohlížeče, tak to přímo nabídne stáhnutí CVS souboru z "Today" s daty. Ale jak to nacpat do curlu?
Díky
curl -c curlcookies.txt -d "loginName=A999&loginPass=1&loginLevel=B&command=1" http://74.219.212.106/cgi-bin/login.cgi
curl -b curlcookies.txt 'http://74.219.212.106/cgi-bin/report.cgi?command=0&elemployeename=&elemployeeid=&elperiod=2&dayFrom=0&dayTo=0&elemployeedept=-999&eltrigger=-1&format=1' > data.csv
Tohle je sice fajn, stáhne mi to data, přímo data už v souboru, doupravím si to, ale už mi to nestáhne fotky, který samozřejmně v demoverzi nejsou.
Takhle to vypadá v reálu:
http://img375.imageshack.us/img375/3061/obrx.png
Problém totiž je, že jsem to dělal na demoverzi stím, že v reálu to bude stejné. Jenže v reálu jsou fotky uložené ve tvaru /photo/1274880305_00111DA07EA8.jpg, ale zaboha nemůžu příjít na to první číslo co to znamená. Jen se to postupně inrementuje s každou další novou fotkou(nepravidelně!), takže nevím, jak to stáhnout,
respektive udělat list něco jako :
IP/photo/1274880305_00111DA07EA8.jpg
IP/photo/1274880295_00111DA07EA8.jpg
IP/photo/1274880281_00111DA07EA8.jpg
Abych to mohl stáhnout wgetem.
Co by vyřešilo problém by bylo, kdyby to stáhlo ty data jako tabulku, né jako html, protože ať to uložím do jakéhokoliv formátu >html csv, tak vždycky to zobrazí html, prostě jen kdyby to stáhlo ty data bez formátofání html. Jinak ta fotka /photo/1274880305_00111DA07EA8.jpg půjde přejmenovat ještě do tvaru datum_OUT/IN_idctecky.jpg a to taky bude oříšek, aby se to nezamíchalo
<a> je uložena v href=.
to číslo je Unix timestampTo bylo prvni, co me napadlo
Sorry, ze jsem nereagoval drive, ale sledoval jsem tuhle diskuzi na zacatku a pak nejak prehledl tu vymenu kolem 26.5. :-O
Musim rict, ze tam teda mate docela solidniho Velkeho Bratra™.
Nejlepsi zpusob s temi jmeny obrazku je -- jak uz ti tady prede mnou napovedeli -- si stahnout to HTML a z neho si primo z te tabulky vyklobat cestu k tomu souboru. Vsechno to je v 8. sloupci, takze to nemuze byt tak tezke udelat nejaky 'cut', 'awk' nebo 'sed' skript.
P.S. Prave jsem si dohral s 'date' a opravdu je to Unix timestamp:
date -d "15:25:05 2010-05-26 CEST" +%s
vraci 1274880305, presne jak prvni radek v tabulce a stavovy radek dole v okne prohlizece ukazuje.
12:24:24 2010-5-04ted jsem udelal:
promenna=$(cat out.csv) date -d "$promenna" +%sa vyhodi mi to UNIX timestamp, ale co když budu mít v tom texťáku různý počet záznamů, né jen jeden třeba
12:24:24 2010-5-04 12:24:22 2010-5-04 12:23:04 2010-5-04 atdTak bych potřeboval to udělat pro každý řádek, výše popsaný postup nebude fungovat, nejprve jsem si myslel,že to půjde, ale nee :)) Jde to nějak udělat třeba podmínkou?
for i in $pocetradku do date "promena pro kazdy svuj radek" +%s done?? Díky,vím už otravuju, ale zkouším to souběžně, né že bych tu čekal na odpověď :)
co když budu mít v tom texťáku různý počet záznamů, né jen jedenViz
man date, prepinac -f
date -f soubor_s_datumy +%s
12 54 2 45 5 254 663 2Tak jakým způsobem zaindexovat proměnné A a B, abych pak mohl uděla A x B a udělat to pro každý řadek Něco jako A=$(cat cisla.txt | awk '{print $1}') a B=$(cat cisla.txt | awk '{print $2}') a pak násobení na stejném řádku.. Představte si to jako v excelu, uděláte vzorec pro jeden řádek a pak ho "roztáhnete" podle počtu řádků
Nevíte, jakým způsobem by se dala vyřešit ta podmínka?Viz
man bash sekce SHELL BUILTIN COMMANDS, prikaz "read".
#!/bin/bash
muj_soubor="/jmeno/meho/souboru"
# funkce read pouziva IFS (Internal Field Separator) pro rozdeleni slov ve ctene radce
# (tedy pro pochopeni, co je "samostatne slovo", takze puvodni hodnotu si zazalohujeme
IFS_puvodni=$IFS
IFS=" "
# funkce read cte ze standardniho vstupu (resp. to, na co ukazuje souborovy ukazatel 0),
# takze tam presmeruje nas soubor a ulozime puvodni hodnotu do ukazatele napr. cislo 3
exec 3<&0
exec 0<${muj_soubor}
# cteme po radcich dokud je co
while read A B
do
# zde provadime vlastni vypocet s hodnotami v $A a $B
done
# vratime vse do puvodniho stavu
exec 0<&3
IFS=${IFS_puvodni}
Zde je priklad, kdy se nacte nejpve cela radka a az pak se rozbije na jednotliva slova.
Dalsi priklad se ctenim radku a jejich zpracovanim je tady
Uplne nejjednodussi reseni bez vsech maslicek je udelat:
#!/bin/bash
while read radek #nebo "while read A B"
do
# zpracovani radky
do <"muj_soubor"
Snad jsem to nekde nezkopal.
Velkeho Bratra??? Co to je?Blog na ABCLinuxu: Who is Big brother? Wikipedie: Velký bratr
Tiskni
Sdílej: