forgottenrealm
Goto Top

Datei mit MV verschieben

Moin ihr,

ich verzweifle gerade ein wenig an einem Script zum Verschieben von Dateien.
Zudem muss ich sagen, dass ich ein absoluter Anfänger bin was Linux Shell angeht ...

mv -f "/volume1/Daten/*.rar" "/volume1/Ablage/"  

So soll es funktionieren, tut es aber nicht.

mv -f "/volume1/Daten/Dateiname.rar" "/volume1/Ablage/"  

Dies funktioniert, allerdings benötige ich alle rar Dateien und nicht nur diese eine für die ich den Namen angegeben habe.

Ich hoffe, ihr könnt mir helfen face-smile

Grüße

Content-ID: 303092

Url: https://administrator.de/contentid/303092

Ausgedruckt am: 04.12.2024 um 08:12 Uhr

127944
127944 28.04.2016 um 08:53:15 Uhr
Goto Top
Moin,

mv kennt kein *

Hier mal eine kleine Hilfestellung
Lochkartenstanzer
Lochkartenstanzer 28.04.2016 aktualisiert um 09:01:37 Uhr
Goto Top
Zitat von @ForgottenRealm:

mv -f "/volume1/Daten/*.rar" "/volume1/Ablage/"  

So soll es funktionieren, tut es aber nicht.

Moin,

"Tut nicht" ist eine sehr grobe Fehlerbeschreibung. Du soltest schon genauer darlegen, was die Unix-Kiste Dir an den Kopf wirft, wenn Du sie damit fütterst.Und vor allen. wie es in dem Verzeichnis ausssieht. Mach da mal ein ls /volume1/Daten/

lks

PS: Meine Kristallkugel sagt, Deine Fehlermeldung lautet:

Zugriff auf *.rar nicht möglich: Datei oder Verzeichnis nicht gefunden
Du hast ein paar Anführungsstriche zuviel! Tippe mal
mv -f /volume1/Daten/*.rar  /volume1/Ablage/
Lochkartenstanzer
Lochkartenstanzer 28.04.2016 um 08:57:15 Uhr
Goto Top
Zitat von @127944:

Moin,

mv kennt kein *

Aber die bash. face-smile

lks
ForgottenRealm
ForgottenRealm 28.04.2016 um 09:03:49 Uhr
Goto Top
Moin,

ok mal von vorne.
Das Script soll auf einer Synology, eine Rückmeldung was genau fehlschlägt bekomme ich leider nicht. Ich kann das Script nur ausführen lassen und das wars.

Im Verzeichnis /volume1/Daten liegen x rar Dateien drin, die ich alle auf einmal verschieben möchte.

Natürlich könnte ich auch über ...
mv -f "/volume1/Daten/" "/volume1/Ablage/"  

... den Ordner verschieben, das will ich aber nicht weil im Ordner Daten auch noch andere Dateien drin liegen, die nicht verschoben werden sollen.

Die ersten drei Seiten Google Suchergebnisse habe ich bereits durch, ohne wirklich schlauer zu werden face-sad
127944
127944 28.04.2016 um 09:05:55 Uhr
Goto Top
Zitat von @Lochkartenstanzer:
Aber die bash. face-smile
Mist. Bin doch noch nicht ganz wach. Du hast natürlich recht.
127944
Lösung 127944 28.04.2016 aktualisiert um 09:23:17 Uhr
Goto Top
Um meine Blamage ein wenig zu kompensieren, möchte ich hier zumindest noch kurz erklären, wo das Problem ist:

Du hast ein paar Anführungsstriche zuviel! Tippe mal
mv -f /volume1/Daten/*.rar  /volume1/Ablage/

Damit hat lks recht. Durch die von dir genutzten Anführungszeichen wird die Wildcard (*) nicht aufgelöst / expandiert.

Kurz:
* steht für alles mögliche
"*" steht für *  
ForgottenRealm
ForgottenRealm 28.04.2016 um 09:33:54 Uhr
Goto Top
mv -f "/volume1/Daten/1/"*".rar" "/volume1/Ablage/"  

Das wars, die Wildcard in Anführungsstriche setzen hat geholfen.

Vielen Dank face-smile
127944
127944 28.04.2016 aktualisiert um 09:34:59 Uhr
Goto Top
Oder so herum ^^
Th0mKa
Th0mKa 28.04.2016 um 11:24:01 Uhr
Goto Top
Nur mal so zu deinem Verstaendnis, du hast keine Anfuehrungszeichen um die Wildcard gemacht, sondern um die Strings davor und danach.

VG,

Thomas
Lochkartenstanzer
Lochkartenstanzer 28.04.2016 aktualisiert um 12:28:46 Uhr
Goto Top
Zitat von @ForgottenRealm:

mv -f "/volume1/Daten/1/"*".rar" "/volume1/Ablage/"  

Das wars, die Wildcard in Anführungsstriche setzen hat geholfen.

Wildcard in Amnfürhrungstriche setzen wäre
mv -f  /volume1/Daten/1/"*".rar /volume1/Ablage/
Du hast den wildcard aus den Anführungsstrichen herausgenommen!

lks
ForgottenRealm
ForgottenRealm 28.04.2016 um 12:57:55 Uhr
Goto Top
mv -f "/volume1/Daten/1/"*".rar" "/volume1/Ablage/"  

Ist aber doch richtig so oder?

Die Anführungsstriche um den gesamten Pfad muss man ja machen, wenn der Ordnername Leerzeichen enthält. Zum Beispiel ...

mv -f "/volume1/Meine Daten/1/"*".rar" "/volume1/Ablage Daten/"  

Dies würde ohne die Anführungsstriche um die Pfade sonst in Fehler laufen?

mv -f /volume1/Meine Daten/1/"*".rar /volume1/Ablage Daten/  

Oder funktioniert es so auch?

Ich kenne es nur aus Batchscript unter Windows, dort werden die Leerzeichen in Pfaden (robocopy z.b.) als Trennzeichen für die Commands angesehen, wodurch das Script in einen Fehler läuft.
Th0mKa
Th0mKa 28.04.2016 um 13:10:27 Uhr
Goto Top
Ja, das ist so richtig, aber du hast noch ein Verstaendnisproblem. Du setzt nicht die Anfuehrungzeichen um den Stern sondern du nimmst den Stern aus den Anfuehrungszeichen heraus damit die Bash den expandieren kann. Deshalb funktioniert das jetzt.

VG,

Thomas
Lochkartenstanzer
Lochkartenstanzer 28.04.2016 um 13:53:37 Uhr
Goto Top
Zitat von @ForgottenRealm:

Die Anführungsstriche um den gesamten Pfad muss man ja machen, wenn der Ordnername Leerzeichen enthält. Zum Beispiel ...

mv -f "/volume1/Meine Daten/1/"*".rar" "/volume1/Ablage Daten/"  


nein, Das kann man auch so schreiben:
mv -f  /volume1/Meine\ Daten/*.rar /volume1/Ablage\ wo\ das\ ganze\ hinsoll/

Du hast offensichlich ein Verständnisproblem.

lks