Beiträge von tk1908

    Ich werf hier mal wider was rein:

    Problem ist, dass das for-Command (bspw. im 1080p-Block) fehlschlägt, sobald keine Files im entsprechenden Ordner liegen. Irgendeine Idee, wie ich hier vorgehen kann? (Möglichst ohne großartiges if else gefriemel?)

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Müsste mit dd eigentlich funktionieren? Also sowas in die Richtung

    Code
    dd if=/dev/quellssd of=/dev/zielssd status=progress

    Bin mir aber nicht sicher, ob das aus dem gebooteten System heraus funktioniert.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Also erstmal Danke für die Hilfe DosAmp.

    Dateinamen sind immer nach folgendem Schema aufgebaut:

    - Artist - Titel

    Gelegentlich habe ich aber auch, Artist.Titel, die werden aber derzeit mit ner anderen Routine weggeschoben, wobei sich hier das selbe Problem ergibt, da ich dort immer folgenden String verwendet habe:

    Code
    for i in $(ls | awk -F '.' '{print $1}'); do cp -v $i* /mnt/apex01/verzeichnis/zum/Ziel/$i |tee >>/home/tkoehler/cp.log; done

    Also wie vorher, nur halt mit dem ersten Punkt des Dateinamens als Trennzeichen.

    Ich gebe offen zu, dass mein Wissen hierzu leider noch sehr lückenhaft ist, bin aber generell offen für Vorschläge.

    Okay, ich komme nicht mehr mit. Leerzeichen im Dateinamen sollten doch eigentlich kein Problem sein, weil ich als Trenner ja sowieso " - " nutze. (Also Leerzeichen Bindestrich Leerzeichen). Ich weiß halt offengestanden nicht mal wirklich wie ich die Frage formulieren soll.

    Könnte man, um von ls wegzukommen, nicht auch auf find zurückgreifen? Also sowas hier in der Art:

    Code
    for i in $(find . -type f \( -name "*.mp4" \) -printf "%f\n" | awk -F ' - ' '{print $1}'); do cp -v $i* /mnt/apex01/pfad/zum/Ziel/$i/ ;done

    Ich hab da mal wieder Scripting-Frage:

    Gegeben ist ein Ordner in dem mp4, flv und wmv-Dateien liegen, die nach dem Schema <Artist>-<Title> aufgebaut sind. Auf der Gegenseite liegen Ordner mit dem Artist, darunter dann die Mediendateien.

    Zur Zeit mache ich das mit folgendem Einzeiler:

    Code
    for i in $(ls | awk -F ' - ' '{print $1}'); do cp -v $i* /mnt/apex01/verzeichnis/zum/Ziel/$i |tee >>/home/tkoehler/cp.log; done

    Damit hab ich derzeit folgende Probleme:
    - trotz dem -v Schalter bekomme ich keine Ausgabe.
    - Gelegentlich läuft sich der Mist tot und muss von Hand via Ctrl+C gestoppt werden. Insbesondere wenn während des Kopiervorgangs Dateien hinzukommen od. wenn der Zielordner nicht vorhanden ist.

    Irgend eine Idee?