Ich brauche ein Skript, das alle Dateien aus einem Verzeichnis verschieben, die nicht auf .tmp enden.
Ich hab jetzt schon wie ein Blöder herum gemacht, aber bekomme diesen Ausschluss nicht hin. Bislang siehts so aus:
for UNIXFILE in \*; do
if [fucking-extension != ".tmp"]
/bin/mv $UNIXFILE /backup
fi
done
Nicht wirklich viel, oder? Außerdem die kleine Syntaxschwäche…
Ich habe einige Lösungen gefunden (beispielsweise ‚eval substr‘), aber die funktionieren wunderbarerweise nicht unter Standard-Solaris (*AETZEND!*).
Wer kann mir auf die Sprünge helfen - wahrscheinlich ist Regex mein Freund, aber ich bekomme die Syntax nicht hin, und ich finde auch keine passenden beispiele im Netz.
Ich sehe die völlig einfache Lösung geradezu vor mir, aber ich komme einfach nicht drauf 
Danke,
Stefan
Hallo,
Ich brauche ein Skript, das alle Dateien aus einem Verzeichnis
verschieben, die nicht auf .tmp enden.
for UNIXFILE in *; do
if [fucking-extension != „.tmp“]
/bin/mv $UNIXFILE /backup
fi
done
Nicht wirklich viel, oder? Außerdem die kleine
Syntaxschwäche…
Da gebe ich Dir recht 
Wie wäre es mit
for file in $(ls -1 | grep -v .tmp$)
do
if [! -d $file]
then
/bin/mv $file /backup
fi
done
Ansonsten schau Dir das ABS an:
http://www.tldp.org/LDP/abs/html/
Gruß
Andreas
for file in $(ls -1 | grep -v .tmp$)
Cool! That separates the boy from the man 
Danke,
Stefan
for file in $(ls -1 | grep -v .tmp$)
Cool! That separates the boy from the man 
.]
Trotzdem:
.tmp$ ist glaube ich nicht ganz sauber
Mag sein, daß das Dollar-Zeichen in manchen Fällen verschluckt wird.
ls -1 | grep -v \.tmp
sollte in den meisten Fällen auch funktionieren und erscheint mir sauberer (auch wenn so Dateien die „.tmp“ innerhalb des Namens enthalten, auch matchen)
Gruß
Andreas
hash bang slash bin slash bash …