[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: variablen durch pipes (bash)



hi!
* Matthias Kempka <lists@mkempka.de>:
> 
> Ich versuche gerade, *viele* gif Dateien nach jpeg zu konvertieren. Ich
> haette also gerne zu jeder Datei {x}.gif eine Datei {x}.jpg (meinetwegen
> auch {x}.gif.jpg).
> 
> Nach langer Rumprobiererei bin ich bei:
> 
> > find . -name "*gif" |xargs -n1 file |grep GIF | awk '{print substr($1,0
> ,length($1)-1)}' | xargs -n1 giftopnm | pnmtojpeg >  ???
> 
> und weiss jetzt nicht was ich an den Schluss statt ??? schreiben soll.
> 
> Ich habe versucht, an zweiter Stelle ein "xargs -n1 export FILENAME="
> einzufuegen, in der Hoffnung, dass ich $FILENAME spaeter verwenden kann,
> nur ist export in dieser Form nicht bekannt.
> 
> Was muss ich denn machen, um mir den Dateinamen, den awk zwischendurch
> ausgibt zwecks Wiederverwendung zu merken?
> 
> Oder laufe ich so total gegen die Wand? Wie ginge es besser?
angenommmen du willst die files nur verschieben, würde ich das so
machen:
find . -name "*.gif" | while read file; do
        echo $file
        name=`basename $file .gif`
	mv -i $file $name
done

Probleme gibt es nur, wenn $file Leerzeichen enthält.
Hat da jemand eine bessere Variante?
			



Reply to: