Am Mittwoch 17 März 2010 23:03 schrieb Stefan Plenert:
for datei in *.tif; do echo rm -i "${datei//%.tif/.jpg}"; done for datei in *.tif; do echo rm -i "${datei/%.tif/.jpg}"; done
for i in *.tif; do echo rm -i "${i//%.tif/.jpg}"; done for i in *.tif; do echo rm -i "${i/%.tif/.jpg}"; done for i in *.tif; do echo rm "${i/%.tif/.jpg}"; done
Hi Stefan, Ich schrieb in meiner vorherigen Mail auch "ersetzen" und nicht "hinzufügen". Du solltest also _entweder_ das echo verwenden um in der Ausgabe sehen zu können, was der schöne Ausdruck "${i/%.tif/.jpg}" als Ergebnis liefert, _oder_ den rm Befehl verwenden um zu löschen. Dabei ist das "-i" eine Option für rm. In Deiner Kombination kann das nicht funktionieren. Zum Verständnis: echo gibt eine Textzeile aus rm löscht je nach Optionen Dateien und/oder Verzeichnisse. Hier ein Beispiel: 1. Welche Dateien habe ich? ralf@host:~/Test/jpgtest> ll insgesamt 0 -rw-r--r-- 1 ralf users 0 15. Mär 13:55 xyz.jpg -rw-r--r-- 1 ralf users 0 15. Mär 13:55 xyz.tif 2. Welches Ergebnis lifert mir der schöne Ausdruck ralf@host:~/Test/jpgtest> for datei in *.tif; do echo "${datei/%.tif/.jpg}"; done xyz.jpg 3. Die vorige Aktion hat noch nichts verändert: ralf@host:~/Test/jpgtest> ll insgesamt 0 -rw-r--r-- 1 ralf users 0 15. Mär 13:55 xyz.jpg -rw-r--r-- 1 ralf users 0 15. Mär 13:55 xyz.tif 4. Das sah oben gut aus, also lösche ich jetzt ralf@host:~/Test/jpgtest> for datei in *.tif; do rm -i "${datei/%.tif/.jpg}"; done rm: reguläre leere Datei „xyz.jpg“ entfernen? y 5. Es bleibt nur die tif Datei über ralf@host:~/Test/jpgtest> ll insgesamt 0 -rw-r--r-- 1 ralf users 0 15. Mär 13:55 xyz.tif lg Ralf -- Antworten bitte nur in die Mailingliste! PMs bitte an: listpm (@) arndt-de (.) eu -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org