Kezdőlap › Fórumok › Programozás › „Csak guruknak” – konyhanyelven…
- This topic has 150 hozzászólás, 25 résztvevő, and was last updated 15 years, 8 months telt el by
uzsolt.
-
SzerzőBejegyzés
-
2008-05-02-19:13 #2081798uzsolt wrote:Gondoltam, összedobok gyorsan egy szkriptet, ami valami cron-démon segítségével megadott időközönként ellenőrzi a megadott weboldalak tartalmát, hogyha esetleg újdonság keletkezik, arról én is értesüljek. Mielőtt még valaki mondaná, hogy RSS, mondanám, hogy sajna nem mindegyik oldalon van ilyen.
Szóval, akkor a szkript:Code:#!/bin/bashMD5SUM_FILE=/etc/webdiff/md5sums
CURDIR=`pwd`for i in `cat /etc/webdiff/webdiff.conf`; do
DIR=`mktemp -d`
cd $DIR
wget $i &> /dev/null
RESULT=$(grep „$i ” $MD5SUM_FILE 2>/dev/null)
if [ „$RESULT” = „” ]; then
(echo -n „$i ” ; md5sum $(basename $i)) >> $MD5SUM_FILE
else
if ( ( echo $RESULT | awk {‘print $2″ „$3’} ) | md5sum -c –status); then # Nincs változás
true
else # Változás történt
if ( pidof X > /dev/null ); then
echo „Változás: $i” | osd_cat &
else
echo „Változás: $i”
fi
echo „Változás: $i” >> /home/zsolt/WEBLAP-VALTOZAS
LINE=$(grep -n ‘$RESULT’ $MD5SUM_FILE | awk -F „:” {‘print $1’})
sed -i „${LINE}d” $MD5SUM_FILE
(echo -n „$i ” ; md5sum $(basename $i)) >> $MD5SUM_FILE
fi
fi
rm $(basename $i)
cd $CURDIR
rmdir $DIR
doneAmi kell hozzá: md5sum, mktemp, awk, wget, osd_cat (xosd része). Meg persze a szokásos alapdolgok. Na meg nem árt, ha a /etc/webdiff könyvtárra a futtatónak van írásjoga 🙂 Persze át lehet írni más könyvtárra is.
A /etc/webdiff/webdiff.conf megadja, hogy mely honlapokat kell ellenőrizni. Szerkezete: új sorokkal elválasztva a honlapcímek (htm(l)-fájlokat kell megadni!).Az else-ágba bármit lehet írni, hogy mi fusson le, ha valami változás történt. Jelen esetben ha megy az X, akkor a root-ba beírja az üzit, ha nem, akkor szimplán egy echo zajlik le. Meg ha véletlenül elkerülné a figyelmem, még egy WEBLAP-VALTOZAS nevű fájlba is beírok (amit lehet, hogy egy gkrellm-ben fogok figyelni a megfelelő plugin-nel).
Nyilván, ha az osd_cat helyett mást írsz, akkor az osd_cat nem kell 😉Remélem, hasznotokra válik :-*
Ezzel csak az az egy baj van, hogy flash-t tartalmazó oldalaknál vagy olyannál ami véletlenszerűen váltogat képeket, mindig jelez.
Eddig specto-t vagy webmonx használtam, ezeknél ez a probléma áthidalható volt.
Tudom, hogy vannak oldalak ahol e-mailben értesítenek, de valami „console-based”” cucc jobb lenne. 🙂2008-05-02-20:05 #2081799Csak egy-két ötlet (épp egy wesnoth-játék közepén vagyok 🙂 ): dump-old a html-t, és a képekre/flessekre való hivatkozásokat ne vedd figyelembe (pl. sed-del, grep-pel vagy ilyesmivel kiszűröd). De a legegyszerűbb, ha az adott oldal rss-ét nézed (ha van) 🙂
2008-05-02-20:53 #2081800uzsolt wrote:Csak egy-két ötlet (épp egy wesnoth-játék közepén vagyok 🙂 ): dump-old a html-t, és a képekre/flessekre való hivatkozásokat ne vedd figyelembe (pl. sed-del, grep-pel vagy ilyesmivel kiszűröd). De a legegyszerűbb, ha az adott oldal rss-ét nézed (ha van) 🙂Ha van akkor természetesen azt nézem. 🙂
2008-05-12-11:28 #2081801Nos ezúttal egy kis scriptet készítettem, mely egy adott könyvtárban listát készít adott állományok egyenkénti, valamint összesített tulajdonságairól. A tulajdonságok között szerepel a neve, a benne foglalt sorok száma, valamint a méretük.
Így pl. könnyen ellenőrizhetjük, hogy mekkora egy project.Code:Usage: count_files [-h|–help] [-p|–patterns pattern1 pattern2 –] [-d|–directory directory]-h print this help
-p file patterns to list (default: *)
-d set the working directory (default: .)2008-07-05-14:10 #2081802Na, akkor most lássunk egy kis olyat, ami még nem volt. :)))
A gentooról lesz szó, úgyhogy akit nem érint, most ne figyeljen ide. 🙂A probléma:
Felvetődött a kérdés, hogy meg lehetne-e oldani azt, hogy egyes csomagokat teljesen saját paraméterekkel forgassunk, hiszen, ha valami gond van, akkor nem működik a „world„, sőt, ha egy use flaggel nem lehet megoldani a kérdést, akkor átírkálhatjuk ideiglenesen a make.conf-ot, sőt, ha egy flag-et akarunk átadni a linkernek, akkor hagyhatjuk az egész portage-t.
Persze feltehetjük azt a kérdést is, hogy mi van akkor, ha kicsit eltérő architektúrára fordítunk. Nyalván nem akarunk mindent lefordítani nyócszor, de néhány csomagot viszont nem árt. De ekkor el kéne a csomagokat különíteni egymástól. (Legalábbis azt a néhányat a többitől.) Kézzel nyílván nem akarjuk átmásolgatni, a make.conf-ot meg pláne nem akarjuk átírogatni folyton.Akkor mi lenne a megoldás?
A neve bashrc. Köztudott, hogy van ilyen, de kevésbé köztudott, hogy több is van/lehet belőle. Többek között a portage-nak is lehet ilyenje.
Tehát nincs más dolgunk, mint írni egy kis scriptet, mely egy konfigurációs file segítségével elvégzi a szükséges lépéseket.
Ezt a konfigurációs file-t én package.cos-nek neveztem el. (Persze bármilyen nevet adhatunk neki.) E file-nak a helyét hagyományosan az /etc/portage könyvtárban jelöltem meg. (Természetesen ez sem kötelező érvényű.)Mi is szintaktikája a package.cos-nek?
Code:kategória/csomagnév utasításokA script – egyelőre – nem támogatja a =kategória/csomagnév-verzió és hasonló kifejezéseket.
Utasítások:
%c* op1 op2 … – C opciók
%x* op1 … C++ opciók
%cx* op1 … C_és_C++_flagek
%l* op1 – linker_opciók
%m* op1 – make_opciók
%loc* loc1 – lokalizáció
%march – másolja át a lefordított csomagokat „mtune” könyvtárba, ha nincs „mtune” meghatározva, akkor „march” könyvtárba, ha az sincs, akkor default lesz a neve
%tmpdir=tmpdir – egyéni munkakönyvtár megadása (akkor hasznos, ha memóriában fordítunk, de egyes csomagok nem férnek bele; a hatékonyságot szemelőtt tartva csak a forrás kerül át, minden más a file marad az eredeti helyen)
* bizonyos opciók után al opciókat határozhatunk meg.
nincs al opció – az előzőek felülírása
= – az előzőek felülírása
+ – az előzőek bővítése
+= – az előzőek bővítéseCode:media-video/mplayer %cx+ -mssse3
media-video/transcode %m -j1
app-office/openoffice %tmpdir=/var/tmp/portageMagyarázat:
az mplayer C, illetve C++ flagjeit (az alapértelmezett flagekhez képest) bővítse az -mssse3 kapcsolóval.
a transcode fordítása csak 1 szálon fusson (az alapértelmezettel ellentétben)
az openoffice munkakönyvtára (az alapértelmezettel – pl. /dev/shm/… szemben) a /var/tmp/portage/… könyvtárban legyenMi a teendő?
Mentsük el a bashrc-080705.txt nevű file-t a /etc/portage könyvtárban bashrc néven.
Majd hozzunk létre egy package.cos nevű file-t ugyanebben a könyvtárban. (Ezt a file-t szerkesszük az itt leírtak szerint.)Figyelem! A script szabadon – feltételek nélkül – felhasználható, a használatából fakadó károkért semmilyen felelősséget nem vállalok. Az alapértelmezett beállítások/flag-ek felülírásához előképzettség szükségeltetik, mert felelőtlen használata károkat okozhat a sw-ben. Tehát az használja, aki tudja, hogy mit csinál.
Jó szórakozást!
2008-07-05-14:22 #2081803package.env package.keywords package.use package.mask package.umask
ezek ugyanezt valósítják meg 🙂2008-07-05-14:36 #2081804xcut wrote:package.env package.keywords package.use package.mask package.umask
ezek ugyanezt valósítják meg 🙂Si tacuisses, philosophus mansisses. 🙂
2008-07-19-16:26 #2081805Közben kiderült, hogy légy van a levesben. 🙁
Pl. java-config-2 telepítésénél a következő üzenetet kapjuk: „arch config not found”.A javított verziót most mellékelem.
2008-11-21-15:47 #2081806Már 120 napja nem írtam ide, úgyhogy megfontoltam és újra felszínre hozom egy kis mplayer/mencoder scripttel, mellyel még kényelmesebben vehetünk fel a tv-ből, mint valaha.
Egyelőre 6 függvényt futtathatunk.
A scriptben vannak az alapértelmezett és a használható paraméterek a fűggvények fölött.Ha pl. alapértelmezett beállításokkal le akarunk menteni egy TV adást, akkor mindössze ennyi a dolgunk:
Code:MencoderTV ch E7vagy, ha már definiáltuk
Code:MencoderTV ch ${CH_M2}Ha 3/4-ére akarjuk kicsinyíteni a felvételt:
Code:SetVF scale 3 4
MencoderTV ch ${CH_M2}Ha pl. meg akarjuk változtatni a video codecet, amely alapértelmezetten h264:
Code:SetOVC quality high
SetVF scale 3 4
MencoderTV ch ${CH_M2}Ha pl. meg akarjuk változtatni a video codecet egy gyors, alacsonyabb minőségű xvidre
Code:SetOVC codec xvid quality low
SetVF scale 3 4
MencoderTV ch ${CH_M2}stb.
Ilyen egyszerű.
2009-05-15-18:47 #2081807Akkor ismét less:
Code:export LESSCOLOR=yes
export LESSCOLORIZER=pygmentize
less proba.cÉs öröm. 🙂
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz