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