[Linux allgemein] Wie Ordner in vorhandenen verschieben/integrieren?

  • Hi,


    ich möchte durch ein Skript Aufnahmen, welche einen bestimmten Namen enthalten, in ein Unterverzeichnis verschieben.


    Wenn ich nun folgenden Befehl ausführe:


    Code
    mv /var/lib/video.00/*Suchstring*/ /var/lib/video.00/Unterverzeichnis/


    funktioniert dies einmal. Kommen nun neue Aufnahmen hinzu, bricht mv mit folgender Fehlermeldung ab:

    Code
    Verschieben von „x“ nach „y“ nicht möglich: Das Verzeichnis ist nicht leer


    Dies kommt davon, dass ja durch den ersten Verschiebevorgang ein gleichnamiger Ordner im Ziel angelegt wurde. In diesen sollen nun die neuen Aufnahmen integriert werden.


    mv --help war leider wenig hilfreich.


    Gibt es vielleicht einen anderen Befehl?


    Mfg


    VDR:
    HW: ASUS M3N78-EM (NV-GF8300) • 4GB DDR2 • AMD Athlon II X4 • 32GB SSD • 4TB HDD • 2x Hauppauge WINTV Nova-HD-S2

    SW: easyVDR3.0 64Bit stable based on Ubuntu 14.04 Trusty Tahr • Kodi 17 Krypton • VDPAU • SoftHDDevice

  • Hi,


    Schau Dir mal rsync an. Vermutlich geht es damit am elegantesten.


    Schnell und schmutzig:


    SOURCEDIR=/var/lib/video.00/*Suchstring*
    DESTDIR=/var/lib/video.00/Unterverzeichnis/*Suchstring*


    if -e $DESTDIR; then
    mv $SOURCEDIR/* $DESTDIR/.
    rmdir $SOURCEDIR
    else
    mv $SOURCEDIR §DESTDIR
    fi


    Gruß


    Joachim

    Registrieter VDR User Nr. 1237


  • Hi,



    vielen dank für die Antwort. Hab sie leider erst heute gesehen, da mit dem Forumwechsel meine Mail Benachrichtigung deaktiviert wurde.


    Rsync scheidet aus, da es ja eher für Backups gedacht ist und somit die Dateien kopiert. Natürlich könnte ich die Quelle anschließend löschen. Allerdings wird so kurzfristig der doppelte Speicher der Dateien belegt. Zudem dauert ein Kopiervorgang (mehrere Gigabytes) wesentlich länger als reines verschieben.


    Dein Skript schaue ich mir mal an. So wie es aussieht, müsste es aber zu Problemen führen, wenn mehr als ein Unterverzeichnis (mehrere Ebenen) existiert.


    Komisch, dass diese "nicht exotische" Anforderung so kompliziert zu realisieren ist. In der GUI kommt einfach ne Frage, ob ich den Ordner integrieren will.


    [EDIT]
    Vielleicht gehts doch mit rsync:
    Hier
    [/EDIT]


    VDR:
    HW: ASUS M3N78-EM (NV-GF8300) • 4GB DDR2 • AMD Athlon II X4 • 32GB SSD • 4TB HDD • 2x Hauppauge WINTV Nova-HD-S2

    SW: easyVDR3.0 64Bit stable based on Ubuntu 14.04 Trusty Tahr • Kodi 17 Krypton • VDPAU • SoftHDDevice

    Einmal editiert, zuletzt von Mehlwurmdieb ()

  • Wie soll denn die Unterverzeichnisstruktur aussehen?

    Registrieter VDR User Nr. 1237


Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!