Verschieben mit kompletter Pfadangabe

M. Houdek linux at houdek.de
Die Sep 23 16:15:40 BST 2008


Am Dienstag 23 September 2008 16:35:28 schrieb Dirk Deimeke:
> Hi
>
> > kennt jemand einen Befehl, der eine Datei mit ihrem kompletten Pfad
> > verschiebt? Wie kann ich also die Datei
>
> spricht etwas gegen
> mkdir -p "/tmp/$(dirname ${datei})" ; cp "${datei}" "/tmp/$(dirname
> ${datei})"
> ?
>
> Macht zwar mkdir, aber nur für die Datei.
>
> Wenn Du es sauber haben möchtest, prüfst Du vorher noch, ob das
> Verzeichnis existiert.
>
> Wobei mir gerade durch den Kopf geht, dass es beim mkdir knallen könnte,
> wenn die Datei Leerzeichen enthält.

Was spricht dagegen, $datei zu Quoten: 

... "/tmp/$(dirname \"$datei\")" ...

Damit wird dem Befehl dirname der Dateiname in "" übergeben, wodurch 
Leerzeichen kein Problem mehr sind. Der so generierte neue Pfad steht ja auch 
wieder in "", so dass an 'mkdir -p' auch bei Leerzeichen nur ein String 
übergeben wird. 
In einem Skript würde ich das aber einer Variable ($newpath oder so) zuweisen.

-- 
Gruß
                MaxX

Bitte beachten: Diese Mailadresse nimmt nur Listenmails entgegen.
Für PM bitte den Empfänger gegen den Namen in der Sig tauschen.