Szkriptek: Python, Perl, Bash, ...

python: hatékony adatkezelés

A feladat nem túl bonyolult, de nem tudom, hogy lenne a leghatékonyabb:

Van sok (pár száz ezer lehet) objektumom, amiket el akarok tárolni a memóriában.
Menet közben van, hogy egyet-egyet ki akarok törölni. Újat akarok hozzáadni persze, jó a végére (mindegy, hova).
Akarok olyasmit, hogy egy ciklus végig tudjon menni az összesen.
Akarok olyasmit, hogy az objektum egy kiválasztott attribútuma alapján rendezve tudjak végigmenni rajtuk.
Akarok szűrni egy adott attribútumra.

C++-ban kb. tudom, hogy állnék neki. Az objektumokat felfűzném egy kétirányú láncolt listára, azon jól végig lehet menni egy iterátorral, és lehet belőle törölni.

A rendezéseket, szűréseket egy másik index tárolóval csinálnám, gondolom vector-ral. Szépen pointereket tárolnék el benne ugye az adott objektumra.

Nade hogy csinálom meg ugyanezt python-ban?

Legyen list, és az pop( i ) az elem törlése?
Az index egy másik lista, ami a sorszámokat tárolja?

Hogy határozom meg egy objektum értékét? Úgy értem, pl. melyik beépített python függvénnyel tudom kiíratni, illetve van-e olyan speciális tagfüggvény, ami az objektum értékét adja vissza az ilyen ellenőrzések számára?

Tudok esetleg valahogy olyasmit írni, hogy mylist.index( 'foo'), és az objektumom valamelyik tagfüggvénye adja vissza a stringet?

A sort minek alapján rendez? Az objektum értéke alapján?

Tudok olyan függvényt készíteni, ami az objektum egy másik értékét adja vissza?

Tehát mondjuk foo szerint rendezek sorba, de bar szerint szűrök.

G

python vs. perl

sziasztok
ugy dontottem, hogy (hobbi) projektemet meg egyszer es utoljara :) hajlando vagyok ujrairni, mert a perlbe kezdek belegabalyodni..
a projektem nem regexp-ekbol all, erre a perl tokeletes volna.. tomboket, socketeket es idozitest kell kezelnie, relative nagy mennyisegben (daemon).
tehat: melyik nyelvet ajanljatok, es miert? engem foleg a sebesseg erdekelne, es szakmai okok.
valaszaitokat varom
ErdosJ

Email címek kiszedése

Sziasztok!

Van egy email postafiókom. Ki szeretném szedni belőle az összes email címet egy listába.
Eddig jutottam: cat postafiok | grep @ ...
Van valami már létező parancs amivel natúr az email címeket ki tudom szedni, hogy kb ezt kapjam?:

valaki@freemail.hu
valami@valahova.hu
valaki2@freemail.hu
valami2@valahova.hu

....

köszi

Z.

Perl Tk ablakméret

Hi!
Perl Tk-ban írok egy nagyobb programot menukkel miegymassal. Az egyes funkciok között úgy oldom meg a váltást, hogy egy közös $tartalom frame-be pakolom a tartalmat, majd váltáskor:
foreach my $j ($tartalom->children){$j->destroy;}
ezután létrehozom az új tartalmat.
A föablak inditaskor megfelelö mérető lesz, viszont az elsö destroy után összeesik, és az új ablakelemek méretét nem veszi fel automatikusan, kézzel kell méretre húzni. Bár ezután az ablak nem esik össze többet, kényelmesebb lenne ha az ablak automatikusan felvenné a szükséges méretet. Valakinek valami tipp?
Kösz BHM

Multiline variable

Hali!

Szeretnék egy scriptet irni, ami az adott könyvtárban létrehoz egy filet XZ tartalommal. Nem akarok több filet használni erre, szóval a generator scriptbe kellene valahogyan eldugni a tartalmat, amit be akarok tenni a fileba. Hogyan tudnám pl ezt egy változóban eltárolni:
<?
$text = "Gyoker vagyok";
print $text;
?>

Koszi

Ékezetes karakter a fájlnévben

16 GB-nyi NTFS-ről kimentett fájlt kellett Linux alá berámolnom. Természetesen tele volt ékezetes karaktereket tartalmazó fájlnevekkel. Így oldottam meg:


find . -depth -not -name . | while read src; do
  dst=`dirname "$src"`/`basename "$src" | iconv -f LATIN2 -t UTF-8 -`
  if [ "$src" != "$dst" ]; then mv "$src" "$dst"; fi
done

Van ennél jobb, szebb, gyorsabb? Ti hogy oldottátok / oldanátok meg?

Kis marhaság, tanulás céljából...

A cél az, hogy egy script kiírja az általam használt mp3player(rhytmbox)-ben halgatott szám infókat az épp használt chat szövegbeviteli mezőjébe. Arra gondoltam, ehhez jó alap lenne az amsn music plugin script-je, ami így néz ki:

#! /bin/bash

RHYTHMBOX=`ps aux | grep rhythmbox | grep -v grep | grep -v info`
if [ "$RHYTHMBOX" ]
then
RCLIENT=`rhythmbox --help | grep print-playing | wc -l `
if [ "$RCLIENT" -gt 0 ]
then
rhythmbox --print-playing --print-playing-artist --print-playing-path --print-song-length --no-focus
else
rhythmbox-client --print-playing
fi
else
echo ""
echo ""
echo ""
echo -1
fi
exit 0

Mivel teljesen kezdő vagyok a scriptírásban, lenne pár kérdésem:
Kell-e ehhez a tk, amit az amsn használ?
Ha kell, akkor hogyan tudnám más módon kiíratni?

Minden segítséget megköszönnék, mivel ez a feladat érdekel, talán segít jobban belemélyedni a témába.

levélfeldolgozás scriptből

A feladat az lenne, hogy a gépre megérkezett levélből automatizálva ki kell venni a mellékletet (txt file) és elmenteni valahova.

Fogalmam sincs, hogy hogy érdemes hozzákezdeni, lécci segítsetek. A szkript lehet sima bash (preferált) vagy perl, esetleg php, ki mit ajánl?

(Azért nem írom, hogy hogy érkezik meg a levél, mert még sehogy: a levelezőrendszert majd úgy állítom be, hogy a feladathoz optimális legyen, lehet akár a gépen futó nagy MTA, de lehet szimpla fetchmail is, majd ami illik a feladathoz.)

Bash-al hangerőt szabályozni.

Sziasztok!

Egy olyan "programot" kértek tőlem a melóhelyemen mely egész nap egy netrádiót üzemeltet, illetve bizonyos időközönként lejátszik egy 10-15mp-es információs hangot. Én erre a feladatra egy shell script + mplayer megoldást választottam(X nincs a gépen.). Ez működik is, csak van egy kis szépséghibája. Mikor lelövi a netrádiót és lejátsza a spot-ot eléggé hirtelen történik ez, néha egy apró kis csattanással egybekötve ami nem tesz túl jót az idegeknek :) Ezért gondoltam egy olyanra, hogy mielőtt leállna a webrádió a hangerőt le kéne vinni nullára szép lassan, majd újból felnyomni... Sajnos a neten nemnagyon találltam erre megoldást.. Márcsak bennetek bízom :)

Köszi..