MudGuard: scp und wildcards GELÖST! wildcard für "neuer als" gesucht ...

Beitrag lesen

Hi,

Das Problem ist, dass das {Au,fr} schon bei Deiner Shell auf Deinem Rechner ersetzt wird und *nicht* erst auf der Shell des Rechners, von dem Du kopieren willst. Der einzige Grund, warum das * nicht ersetzt wird, ist, dass die Shell auf Deinem Rechner keine Verzeichnis »user@server:« im aktuellen Verzeichnis findet und somit keine Autocompletion macht. Kannst Du auch mal ausprobieren: »echo BLOEDSINN*« ergibt »BLOEDSINN*«, »echo .*« gibt mindestens ». ..« und evtl. andere noch vorhandene Datein im aktuellen Verzeichnis, die mit einem . anfangen. Das ganze geht sogar so weit, dass wenn Du ein Verzeichnis »user@sever:« hättest, das ein Verzeichnis »pfad« enthielten, das bereits Dateien, die mit »Au« und »fr« anfangen würden, enthielten, dann würde die _komplette_ Substitution auf Deinem Rechner bereits durchegeführt und er würde nur bestimmte Dateien - sofern sie überhaupt auf dem fremden Server vorhanden wären, kopieren. Da sich wohl niemand Verzeichnisse der Form »user@server:« anlegt, kracht das bei scp wohl nie. Die {}-Completion dagegen kann ja durchaus von der Shell ersetzt werden, ohne, dass sie sich Dateien anschaut, daher wird das auch gemacht. Im Endeffekt bekommt scp bei der {Au,fr}-Angabe die *identischen* Parameter mit, wie bei Deinem ersten Befehl, Du schreibst nur weniger.

Das hab ich mir schon fast gedacht, daß das lokal passiert ...

Die Lösung des Problems besteht darin, die komplette Substitution durch die Remote-Shell durchführen zu lassen. Dies erreichst Du, indem Du der lokalen Shell verweigerst, die Substitution durchzuführen. Der Befehl sollte also folglich lauten (die Parameter habe ich von Dir übernommen):

scp -p -C "user@server:/pfad/{Au,fr}*" .

Getestet und für sehr gut befunden.

Dankeschön!

Jetzt wünsch ich mir nur noch ein Feature, mit dem ich die Auswahl auf Dateien neuer als ein vorgegebenes Datum einschränken könnte (VOR der Übertragung - danach ist es kein Problem ...)
Leider ist scp andersrum (also vom Remote-Rechner auf den lokalen) gesperrt ...

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
Schreinerei Waechter
Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.