linux-l: bash und numerierte Files...
Carsten Wartmann
cw at mero.in-berlin.de
So Okt 4 20:14:23 CEST 1998
Oliver Bandel writes:
> Hi!
> > ich habe gerade festgestellt, das mein in der vorherigen Mail
> > geschildertes Problem leicht mit den pbm Tools zu lösen wäre... Wenn
> > ja wenn ich ein kleines bash-script hinbekommen würde.
> >
> > Problem ist, die Files liegen als filename.0001 usw. vor. Das Zählen
> > und Erzeugen von Filenamen wie filename.11 ist mit einem bash-script
> > ja kein Problem,
>
> Nicht?
> Wie geht das denn? Für solche Sachen bin ich meist auf awk ausgewichen.
Mit einer while Schleife z.B.:
-------------------------------
#!/bin/bash
x=1
while [ $[$x] -lt 10 ];
do
echo filename.$x
x=$[$x+1]
done
-------------------------------
Mein Script tut jetzt genau das was ich erwartet habe (ich überlasse
es eurer Phantasie *was* es nun eigendlich tut...).
Allerdings rödelt es ziemlich lange rum... Naja, aber die prinzipielle
Machbarkeit wäre damit ohne ein "richtiges" Programm schreiben zu
müssen bewiesen.
---------------------------------------------------------
#!/bin/sh
basename="rtl"
xmax=320
ymax=240
xstep=2
start=0
stop=160
x=0
ff=0
f=$start
while [ $[$x] -lt $xmax ];
do
file=$(printf "x$basename.%04d" $ff)
echo $file
cp pad.pnm $file
cp pad.pnm test.pnm
while [ $[$f] -lt $stop ];
do
file1=$(printf "$basename.%04d" $f)
# echo $x $file1 $[$f*$xstep]
convert $file1 pnm:- |pnmcut $x 0 $xstep $ymax >tmp.pnm
pnmpaste -replace tmp.pnm $[$f*$xstep] 0 $file >test1.pnm
cp test1.pnm $file
f=$[$f+1]
done
convert $file jpg:$file
f=$start
x=$[$x+$xstep]
ff=$[$ff+1]
done
-----------------------------------------------------------
Carsten.
PS: Hint: http://www.tx-transform.com/
Mehr Informationen über die Mailingliste linux-l