Szkriptek: Python, Perl, Bash, ...

2 stout összevonása on to fly

bocs az elsöt fennakadt a "<<" jeleken

Tiszteletem mindenkinek!

A következö dolgot szeretném elegánsan megoldani (értsd Tempfile nélkül):
Valami szöveget és az uuencode outputját szeretném direkt a mail-nek továbbadni anélkül hogy fileba menteném öket (ugy tul egyszerü :-))

Vagyis ennek a két parancsnak a kimenetrét akarnám összefogni "röptében":
var="Azt egy mailtext"
echo $var
uuencode Mailfile Mailfile

és ide továbbadni | mail -s "blabal" to@mail.com

eddig ez volt a legközelibb de nem tudom továbbirányitani a mailnak:

cat <<EOD
`uuencode Mailfile Mailfile`
`echo "Azt egy mailtext"`
EOD

Ötleteket elöre is köszönöm.
Üdv
MZ.

Fájlolvasó script

Egy olyan scriptre lenne szükségem, ami egy fájlban lévő adatokkal paraméterezve indítja a programot egymás után.

A fájl pl. igy nézne ki (TXT, minden sorban egy adat):

Adat1
Adat2
Adat3
Adat4
Adat5

Indítani pedig igy kellene:


ProgramNeve Paraméter1 Adat1 Paraméter2
ProgramNeve Paraméter1 Adat2 Paraméter2
ProgramNeve Paraméter1 Adat3 Paraméter2
ProgramNeve Paraméter1 Adat4 Paraméter2
ProgramNeve Paraméter1 Adat5 Paraméter2

A programok nem egyszerre kell hogy induljanak, hanem egymás után. Kézi indítással amikor visszakapnám a promptot akkor induljon.

Egy script indításával az egész folyamat induljon el.

A nyelv teljesen mindegy. Ha nagyon nem megy scriptes megoldással akkor C program lesz a vége.
Még életemben nem irtam scriptet, de itt az ideje kihasználni hogy van ilyen is.

kornyezeti valtozo script-bol (htp_proxy beallitashoz)

Sziasztok !

Probalok osszetakolni egy scriptet, mert egy vandorlo notebookon unalmas mindig atirni/allitgatni a http_proxy-t.
Jelenleg az /etc/environment van beallitva, a rendszer debian etch.

- Hogyan lehet shell scriptben letrehozni/beallitani kornyezeti valtozot?

- Hova, hogyan erdemes elhelyezni, a scriptet? Az /etc/network/if-up.d/ jo lehet?


#!/bin/sh
def_gw=`netstat -rn | grep "^0\.0\.0\.0" | cut -f10 -d" " | cut -f3 -d"."`
case "$def_gw" in
  12)
    declare http_proxy="12-proxy"
  ;;
  23)
    declare http_proxy="23-proxy"
  ;;
  *)
    declare http_proxy=""
  ;;
esac

cat timeout, named pipe

Sziasztok!

Szeretnék timeout-os cat parancsot csinálni.
Pontosabban szeretném ha cat egy named pipe kiolvasása után visszatérne és nem blokkolna.
példa:


mkfifo /tmp/named.pipe 2>/dev/null
exec 12<> /tmp/named.pipe
echo 'hello world' >&12
echo 'second line' >&12
cat <&12

Ameddig eljutottam:
egy sort ki tudok olvasni:
ha a cat helyett


TEMP=''
read -t 1 TEMP <&12
echo "$TEMP"

használok
épp ezt próbálom ciklusban meghívni, de kiváncsi vagyok hátha van egyszerűbb megoldás

Előre is köszi

Több soros regexp [MEGOLDVA]

Egy perl scriptet írok, amiben html filokat akarok feldolgozni.
De meg akadtam!
Nem boldogulok azzal a problémával, hogy ha egy html elem több soros kommentben van azt elvéti a script:


         if ( $buf =~ /<!--.*[.*\n*.*]*.*<\/BODY.*[.*\n*.*]*.*-->/i ) {
            $buf =~ s/(<!--.*[.*\n*.*]*.*<\/BODY.*[.*\n*.*]*.*-->)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
         } elsif( $buf =~ /<!--.*<\/BODY.*-->/i ) {
            $buf =~ s/(<!--.*<\/BODY)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
         } elsif ( $buf =~ /<\/BODY/i ) {
            $buf =~ s/(<\/BODY)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
         } elsif ( $buf =~ /<!--.*\n*.*<\/HTML.*\n*-->/i ) {
            $buf =~ s/(<!--.*\n*.*<\/HTML.*\n*.*-->)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
         }elsif ( $buf =~ /<!--.*<\/HTML.*-->/i ) {
            $buf =~ s/(<!--.*<\/HTML.*-->)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
         } elsif ( $buf =~ /<\/HTML/i) {
            $buf =~ s/(<\/HTML)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
         }
        $f->print($buf);

Az első if blokkot szántam erre a célra de a:
< ! - -

< / body >

- - >

típusú tartalmat elhibázza és a 'Last modified' részt berakja a kommentbe, ami nem jó, mivel ezt a komment elé szeretném beszúrni.

A kikommentezett részt nem akarom megváltoztatni, csak beszúrni elé a 'Last modified'-et.

Mit javasoltok, hogyan csináljam?

Kayapo!

Conky, python, meg az időjárás

Hy all!

Van egy számomra megoldhatatlan probléma, amire választ várnék.
Conky-ban egy pymetar script írja ki nekem az aktuális időjárást, íme:

#!/usr/bin/python

import pymetar
import sys

station = "LHBP"

rf = pymetar.ReportFetcher(station)
re = rf.FetchReport()
rp = pymetar.ReportParser()
pr = rp.ParseReport(re)

print " loc = Budapest "
print " conditions =", pr.getWeather()
print " sky =", pr.getSkyConditions()
print " temp =", pr.getTemperatureCelsius() , "C"
print " wind =", pr.getWindSpeedMilesPerHour(),"M/h ->" , pr.getWindCompass()
print " humidity =", pr.getHumidity(), "%"
print " pressure =", pr.getPressure(), "hPa"

A conditions sor néha megugrik, sok információt közöl, ekkor Conky szétcsúszik. Erre kéne valamilyen hack, hogy tördelje a sort. A megoldást könnyítheti, hogy ekkor a különböző tulajdonságok ';'-vel vannak elválasztva. (pl. conditions = light rain showers; mist)

A másik, de már extra kérés az lenne, hogy a C (=celsius) elé berakhassam a kis karikát, amit jelenleg kódolási gondokra hivatkozva nem enged ( a '# coding=utf-8' sor beillesztése nem segített).

A megoldásokat előre is köszönöm.

Backup szkript

Sziasztok!

Olyan mentést kell készítsek, hogy a felhasználók home könyvtáráról hetente egy teljes mentést kellene csináljak, és naponta az előző naphoz képest megváltozott fájlokat kellene csak mentsem.

Tudna valaki debian-ra ajánlani valami jó szkriptet.

Rsync-el próbálkozok, nem sok sikerrel.

Előre is köszi!

Könyvtár létrehozása fájlból [Megoldva]

Sziasztok!
Próbáltam megoldást keresni, vagy 3 órán keresztül, manuálisan már lehet már megcsináltam volna.
Van egy szövegfájl, benne minden sorban egy könyvtárnévvel. Ebből szeretnék az "adat" helyen egy-egy könyvtárat létrehozni.
Hogy lehetne ezt legegyszerűbben megcsinálni?
Perl alatt akartam megcsinálni, de tömbhöz az elejére " jel, végére " jel kéne, meg lecsípni a sorvégét, sed-el nem tudtam megcsinálni(olvastam ám keményen a doksit).
Valami egyszerűbb megoldás?