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: