Szkriptek: Python, Perl, Bash, ...

Könyvtárak rekurzív egyesítése

Sziasztok!
Adott egy dir1, dir2, dir3... stb. könytárstruktúra, mindenik tartalmaz x fájlt. Hogyan lehet egy bash scripttel a fájlokat egy "unified" könyvtárba helyezni úgy, hogy az azonos fájlnevek ne íródjanak felül? az is jó, ha a fájlok 0001.x, 0002.x.. stb. neveket kapnak majd, nem kell megőrizni az eredeti neveket. Esetleg a könyvtár neve lehetne a fájlnévben kb. így: dir1-001.x dir1-002.x stb.
Tud valaki segíteni? Előre is köszi.

Bash Ctrl-V lekezelese, elagazas

Szeretnek egy problemat megoldani, ami segitene a munkamat.
A vagolapon levo szamhoz (pozitiv egesz szam) hozza kell adni egyet, ezutan bemasolni a vagolapra, ha ez megvan, akkor ugrani a program elejere, ha Ctrl-v-t utok szerkesztoben, vagy interneten, esetleg konsolban. Odaig eljutottam, hogy megvan a kiolvasas, a hozzaadas es a vagolapra masolas:

cboard=`dcop klipper klipper getClipboardContents`
cboard2=$[$cboard+1]
dcop klipper klipper setClipboardContents $cboard2

Most kene valahogy megoldanom, hogyha Ctrl-v.t utok valahol, akkor ugorjon a progi elejere.
Elore is koszi.

weboldal kepbe renderelese

szeretnek egy honlaprol snapshotokat kesziteni, automatikusan. Ehhez nyilvan kell egy renderelo motor, vagy bongeszo. Van erre barmi scriptelesi lehetoseg jelenleg?

Amire eddig gondoltam az scriptbol bongeszot megynyit, xwd-vel screenshot, convert es kesz. viszont ez zavaro, mert fizikailag megnyitja az ablakot.

gugliban pusztan ezt a linket talaltam, viszont ahogy en kivettem ebbol nem erre valo.

Egy kis bash probléma (Internal / External command)

Az alábbi script fut:


#!/bin/sh

back() {
 return 1
}

echo "Internal function"
VAR=`back`
echo "VAR=$VAR"

echo "External function"
VAR=`expr 1 + 1`
echo "VAR=$VAR"

Az eredmény siralmas:


Internal function
VAR=
External function
VAR=2

Meg tudja mondani valaki, hogy miért nem adja vissza a rendes visszatérési értéket, ha a belső függvény hívódik meg?

Viszont ha az alábbi formában adom meg:


back
VAR=$?

Akkor rendesen visszaadja az értéket.

bash proggizás

Sziasztok!

Segítsetek egy kicsit nekem légyszi.
Hogyan tudom bash-ben egyszerűen eldönteni, hogy az egyik sztring prefix-e egy másiknak vagy sem?
Íme a próbálkozás:


if [[ "$hosszu" =~ "^${prefix}.*" ]];
...

De nem megy, ez mindig hamis. Ha nem változót írok jobb oldalra, hanem fix sztringet akkor jó.

Köszi,
D.

djvu2pdf bash-szkript hibás működése

Van egy csomó doksim djvu fájlokban. Szeretném átalakítani ezeket, (lehetőleg interaktivitást nem igénylő módon) a sokkal elterjedteb pdf-be.

Google segítségével találtam ezt a bash-szkripet:


#!/bin/sh
# djvu2pdf
# Created Thu May  3 2001 by David Sterratt David.C.Sterratt@ed.ac.uk
# $Revision: 1.1 $ $Date: 2001/05/05 18:26:47 $
#
# Usage: djvu2pdf file.djvu
# Produces file.pdf 
#

file=$1
page=0
failure=0

until [ $failure -eq 1 ]
do
  page=`expr $page + 1`
  ddjvu -page $page $file /tmp/`basename $file .djvu`.$page.pnm 2>/dev/null
  failure=$?
  if [ $failure -eq 0 ] 
  then
    pnmtops /tmp/`basename $file .djvu`.$page.pnm > /tmp/`basename $file .djvu`.$page.ps 2>/dev/null
  fi
done 

gs -q -dBATCH -sDEVICE=pdfwrite -sOutputFile=`basename $file .djvu`.pdf -DNOPAUSE /tmp/`basename $file .djvu`.*.ps 

rm -f /tmp/`basename $file .djvu`.*.ps
rm -f /tmp/`basename $file .djvu`.*.pnm

Ez oldalanként szétszedi a djvu doksikat, majd elkészíti azokból a pdf-et. FC5 alá telepítettem a szükséges djvu-libraryt, de a fenti script a szétszedésnél nem áll meg az utolsó oldalnál, hanem végtelen ciklusba esik, csak a /temp/ köyvtár partíciójának megtelésekor áll meg.
Hogy lehetne ezt a szkeiptet kijavítani? Vagy a szkript jó és máshol keressem a hibát? Hol?

HTML "tömörítése" PHP-val

Tisztelt Kollégák!

Feltételezzünk egy $str = "[table> [tr> [td>Hasznos infó[/td> \n [/tr> [/table>" típusú, rengeteg "szemetet" tartalmazó sztringet.
Hogyan lehetene a tagok közül eltávolítani a fölösleges spaceket, meg egyebeket PHP-ban, hogy a kimenet kb. így nézzen ki: $str = "[table>[tr>[td>Hasznos infó[/td>[/tr>[/table>"

Az ereg_replace-el próbáloztam, (a "><" között levő spacek cseréje), de természetesen a hasznos infót is elcseszte. :(
Remélem, érthető voltam, hogy mit szeretnék.
Valami ötlet?

bash script bottleneck - vektor

hi

van egy script aminek kb percenkent kellene futnia, de az a gond hogy
37 masodpercig tart, es ebbol 26-ot a kovetkezo fv eszi meg, esetleg valami alternativa?
a script feladata tulajdonkeppen 1 vektormuveletet elvegezni kb $[ 0x100 * 3 * 3 ] adatparral
mindegyik vektor 6 tagu, szoval nem kellene az altalons fv feltetlenul...es azzal menne rendesen, de mivel az eval-oktol nem szabadulok meg ezert annyira nem elonyos

sajnos awk-ban nem vagyok annyira otthon...h jol tippelek az gyorsabb megoldas.
vagy megirom c-ben v perl-ben a teljes tablara vontakozo muveletet?

a problemas fv:


vbc()
{
        local i
        i=0
        echo "("
        for a in `eval echo "\\\${$1[@]}"`;do
                b=`eval echo "\\\${$3[$i]}"`
                i=$[ $i + 1 ]
                echo $[ $a $2 $b ]
        done
        echo ")"
}

pelda:
a=( 1 2 3 )
b=( 5 5 5 )
c=`vbc a + b`

udv.kirk

python kérdés

Sziasztok, kezdő vagyok pythonban, de a perlt elég jól ismerem.

Azt szeretném kérdezni, hogy perlben van egy olyan lehetőség, hogy hash ekbe nem értékeket teszek, hanem másik hash t.

Konkrétan:

$ember{igazgato}->{nev}='Nagy Fonok';

Ezt pythonban hogy lehet megcsinálni így egy lépésben? Több lépésben nekem is megy, de biztos megy így egy sorban is, mint perl ben.

Köszi!
Csaba