Szkriptek: Python, Perl, Bash, ...

file-ok gyűjtése

Lenne egy olyan kis bash alkalmazás, ami egy távoli gépről szed le file-okat időnként. A távoli gépen filok keletkeznek és megszünnek, de mindig csak az újonan keletkezetteket kell leszedni. Első gondolatom az volt, hogy egy file-ba tárolom, hogy miket szedtem le. De ha esetleg elfogy a hely, akkor dobódik minden, jó tudom lehet figyelni a helyet, hogy elég e, de arra gondoltam, hogy ennél van e szebb megoldás. A letöltött file-ok nem eredeti formábal vannak tárolva, így azok erre a célra nem használhatóak fel.

[megoldva] lastaccess mikor íródik be?

Sziasztok,

az lenne a kérdésem, hogy a lastaccess a file-elérés elején, vagy a végén frissül? a konkrét problémám az lenne, hogy az x percnél régebbi fileokat kellene törölni úgy, hogy az egyes file-elérések ideje hosszabb, mint a cron gyakorisága, tehát attól félek, hogy éppen elérés alatt álló filet is törölnék. Hogyan lehetne ezt kiküszöbölni?


find /pending/directory -maxdepth 1 -amin +120 -exec rm -f {}

Sorvege karakterek kiszedese kovetkezo sorban talalhato feltetel alapjan

Sziasztok,

perlben kellene irnom egy scriptet, ami kitorli a sorvege karaktert az adott sorbol akkor, ha a kovetkezo sor elso karaktere nem "2 " (marmint nem 2-es szam utana egy space-szel). Valaki segitene picit, sajnos a normal karakterkicserelos cuccok nem akarnak mukodni (bar lehet hogy csak en rontom el). Koszi elore is

Z

amarok2 > view current song in terminal

Sziasztok.
Ugyan gnome az alapértelmezett ablakkezelőm, de mindig is amarokot használtam zenelejátszásra.
Ma elérkezettnek láttam az időt (főleg a kde4.2 miatt), hogy lecseréljem a régi jól beváltat, az amarok2-re. Csalódni nem csalódtam, jól működik.
Egy dolog hiányzik csak: nem tudom az aktuálisan játszott zeneszámot terminálban kiíratni. Mindegy mi miatt, de ez nekem kell.
Eddig ezzel a bash scriptel oldottam meg ezt:

#!/bin/sh
# print out current song playing in amarok

PROG="amarok"

VERSION=`${PROG} --version | fgrep Amarok | cut -d " " -f 2`

TEST=`dcop amarok player isPlaying`
if [ $? -ne 0 ] ; then
echo "Amarok is not running." >&2
exit 10
fi

if [ "${TEST}" != "true" ] ; then
echo "Amarok is not playing." >&2
exit 20
fi

TITLE=`dcop amarok player title`
ARTIST=`dcop amarok player artist`
ALBUM=`dcop amarok player album`

KBPS=`dcop amarok player bitrate`

POSITIONSECONDS=`dcop amarok player trackCurrentTime`
LENGTHSECONDS=`dcop amarok player trackTotalTime`

POS_M=`expr ${POSITIONSECONDS} \/ 60`
POS_SS=`expr ${POSITIONSECONDS} \% 60`
POS_SS=`printf "%.2i" ${POS_SS}`

LEN_M=`expr ${LENGTHSECONDS} \/ 60`
LEN_SS=`expr ${LENGTHSECONDS} \% 60`
LEN_SS=`printf "%.2i" ${LEN_SS}`

POSITION="${POS_M}:${POS_SS}"
LENGTH="${LEN_M}:${LEN_SS}"

echo "${PROG}(${VERSION}) playing: [\"${TITLE}\" by ${ARTIST}]::[${KBPS}kbps ${POSITION}/${LENGTH}]"

Persze ez most nem működik, errort dob a DCOP szerver miatt:

sumo@forbidden:~$ sh bin/amarok-info.sh
ERROR: Couldn't attach to DCOP server!
Amarok is not running.
sumo@forbidden:~$

A man, help és google nem igazán segített eddig. Esetleg Ti tudtok valami módszert a probléma megoldására?
Köszi.

Perl/cgi szabványos email header

Üdv.

Olyan kérdésem lenne, hogy hogyan lehetne szabványos email fejlécet kreálni mondjuk MIME::Lite -al.
Van-e erre valami kész megoldás esetleg.
A probléma az, hogy bizonyos levelező szerver dobja az emailt a "helytelen" fejléc miatt.
MIME::Lite -on kívül természetesen más módszer is szóba jöhet, lényeg a szabványosság.
Ezzel kapcsolatban innen kiindulva olvasgattam: http://tools.ietf.org/html/rfc5335, http://cr.yp.to/immhf.html
Az email TEXT és HTML is lehet, ennek megfelelő a Content-Type is.
(A karakterkódolás UTF-8 mindkét esetben.)

Ötleteket, javaslatokat előre is köszönöm.

Perl egyszerű hasonlítás kérdés

Hello,

egy egyszerű perl scriptet kellene módosítanom de sajnos én nem igazán vagyok jártas perlben.

van egy ilyen feltétel:

if ($day=~/$mday/)

a teljes script azt csinálja hogy ha a dátum megfelel a megadottnak akkor az kivágja és azt egy külön fileba menti csakhogy ha megadom pl márc 2 akkor belerakja a márc 12-t és a 22-t is. Hogyan módosítsam a fenti feltételt hogy csak azt mentse ha csak egyszer szerepel benne az a szám.

Előre is kösz

Ékezetes betű beolvasása (Windows, ActivePerl)

Sziasztok! Probléma akadt... a program kódja UTF8-ban van tárolva az ekezet.pl fájlban.


#!/usr/bin/perl

use strict;
use warnings;

use utf8;
use encoding "cp852";

print 1 if(grep $_ eq "Árvíztűrő", @ARGV);
print 2 if(grep $_ eq "Tükörfúrógép", @ARGV);
print 3 if(grep $_ eq "Arvizturo", @ARGV);
print 4 if(grep $_ eq "Tukorfurogep", @ARGV);

Így indítom a programot: perl ekezet.pl Árvíztűrő Tükörfúrógép Arvizturo Tukorfurogep
Eredmény: csak a 3 és 4 számokat látom.

Hogyan tudnám megmondani neki, hogy az ARGV-ből szedett dolgokat is (amik elvileg cp852-esek, mivel a parancssoré is az) UTF-8-ra kódolja?

paraméterező formok készítése

Lehet hogy kicsit rossz a cím, de nem tudtam jobbat kitalálni.

szükségem lenne egy olyan megoldásra, ami feldob 1 (vagy több) GUI formot, amin beviteli mezők vannak (input, checkbox, szokásos többi), amik mögött csak simán paraméterek vannak, és ha ok-ra nyomás után megkapom a paramétereket, és lefuttatok egy scriptet.
A nyelv nagyjából mindegy lenne, csak fusson ugyanúgy windowson és linuxon is, lehet script nyelv is, meg nem is. Első körben valami pythonos megoldásra gondoltam, ha tudtok ilyet írjátok le légyszi.
Ant-os megoldást már láttam, az AntForms-t, olyasmit keresnék.

[Megoldva]Python könyv kezdőknek

Sziasztok!

Szeretnék rendesen megtanulni "pythonul", találtam sok online könyvet is ami nagyon jó, de szeretnék valami offline, full kezdőknek valót, mert szabadidőm nagy részét inkább offline töltöm.. no meg könyvet olvasni csak kényelmesebb és egészségesebb mint monitort. Ja és legyen magyar :)

Köszönöm!

python - rendszer újraindítás

Sziasztok!

Elkezdtem írni egy programot python-ban windows alatt, amivel vírusirtók telepítését szeretném automatizálni! A probléma az ,hogy újraindítás szükséges! A kérdésem az lenne ,hogy melyik modul vagy milyen script segítségével tudnám újraindítani a rendszert úgy ,hogy a rendszer felállása után a program onnan fusson tovább ahol, megszakadt! Gondolkoztam azon ,hogy os.system() segítségével indítom újra és beteszem a prgoramot msconfigba! De ez a megoldás nem túl jó mert akkor minden rendszerindításnál betöltené a programot. Fontos lenne ,hogy megoldjam a problémát, ha valaki tud segíteni azt nagyon megköszönném!

Előre is köszi a válaszokat!