[linux-l] shell skript probleme mit leerzeichen
willek
willek at gmx.de
Do Okt 27 17:42:40 CEST 2005
Jan-Benedict Glaw schrieb:
[Dein skript]
>>Danke, das funktioniert, obwohl ich nicht verstehe warum. Warum reicht
>>in diesen Fall ein Stern aus, um alle Dateien einzulesen?
> Ja.
Naja, das es funktioniert hab ich gemerkt. Warum funktioniert es? Warum
steht der Stern für alle Dateien im aktuellen Verzeichnis, und nicht für
stdin oder weiss der Himmel was?
>>for i in `ls |sed s/" "/"\\ "/g` ; do
>>warum hat das nicht funktioniert?
> Oha... Lieber nicht anfangen, irgendwelche Spezialfälle speziell zu
> behandeln. Was ist, wenn Dateinamen einen Zeilenumbruch beinhalten?
> Maskierst Du den dann auch?
Du hast ja recht. Aber die Frage bleibt: wenn ich die Leerzeichen so
maskieren will, warum funktioniert das nicht? $i sollte doch dann
maskierte Leerzeichen beinhalten, nicht mehr als Trenner benutzbar.
Nur genau das funktioniert nicht, die Leerzeichen werden weiter erkannt.
Wie gesagt, reine Verständnisfrage.
>>Und wie schaffe ich es beispielsweise, nur Bilddateien konvertieren zu
>>lassen? ...
> Da gibts mehrere Wege. Entweder checkst Du den file type:
>
> for i in *; do
> case `file -b "$i"` in
> *image*)
> IMAGE_BASENAME="${i%.*}"
> convert -resize 640x480 "$i" "verkleinert/${IMAGE_BASENAME}.$1"
> ;;
> *)
> :;;
> esac
> done
Das ist schön, einfach und nett. Das werde ich erstmal genau so übernehmen.
> Der andere Weg wäre, anhand der Endung vorzusortieren:
>
> for i in *.jpeg *.jpg *.bmp; do
> [ -f "$i" ] && continue
> IMAGE_BASENAME="${i%.*}"
> convert -resize 640x480 "$i" "verkleinert/${IMAGE_BASENAME}.$1"
> done
Sowas habe ich auch schon überlegt. Nur leider hat nicht jedes File eine
Endung und überhaupt, was ist mit *.png? --> nicht so flexibel wie
Lösung eins.
>>Skripten ist irgendwie eine Droge... man kommt nich weg davon...
>>und je mehr man konsumiert, umso abhängiger wird man ;-)
>
> Wenn Du Deine Aufgaben zu 100% gescriptet hast, hast Du 100% Freizeit.
> Sieh das mal so :-)
Na ja, ich meinte eher den Spassfaktor. Die Freizeit hat jetzt ein User,
der um die 300 Bilder *Bild für Bild* in gimp aufgemacht hat,
konvertiert, und unter anderen Namen gespeichert... *grrr
Lutz
Mehr Informationen über die Mailingliste linux-l