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-Key: 303092

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

Printed on: April 16, 2024 at 05:04 o'clock

Mitglied: 127944
127944 Apr 28, 2016 at 06:53:15 (UTC)
Goto Top
Moin,

mv kennt kein *

Hier mal eine kleine Hilfestellung
Member: Lochkartenstanzer
Lochkartenstanzer Apr 28, 2016 updated at 07:01:37 (UTC)
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/
Member: Lochkartenstanzer
Lochkartenstanzer Apr 28, 2016 at 06:57:15 (UTC)
Goto Top
Zitat von @127944:

Moin,

mv kennt kein *

Aber die bash. face-smile

lks
Member: ForgottenRealm
ForgottenRealm Apr 28, 2016 at 07:03:49 (UTC)
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
Mitglied: 127944
127944 Apr 28, 2016 at 07:05:55 (UTC)
Goto Top
Zitat von @Lochkartenstanzer:
Aber die bash. face-smile
Mist. Bin doch noch nicht ganz wach. Du hast natürlich recht.
Mitglied: 127944
Solution 127944 Apr 28, 2016 updated at 07:23:17 (UTC)
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 *  
Member: ForgottenRealm
ForgottenRealm Apr 28, 2016 at 07:33:54 (UTC)
Goto Top
mv -f "/volume1/Daten/1/"*".rar" "/volume1/Ablage/"  

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

Vielen Dank face-smile
Mitglied: 127944
127944 Apr 28, 2016 updated at 07:34:59 (UTC)
Goto Top
Oder so herum ^^
Member: Th0mKa
Th0mKa Apr 28, 2016 at 09:24:01 (UTC)
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
Member: Lochkartenstanzer
Lochkartenstanzer Apr 28, 2016 updated at 10:28:46 (UTC)
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
Member: ForgottenRealm
ForgottenRealm Apr 28, 2016 at 10:57:55 (UTC)
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.
Member: Th0mKa
Th0mKa Apr 28, 2016 at 11:10:27 (UTC)
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
Member: Lochkartenstanzer
Lochkartenstanzer Apr 28, 2016 at 11:53:37 (UTC)
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