ubuntuusers.de

mv oder cp mit Sonderzeichen auf fat32

Status: Gelöst | Ubuntu-Version: Ubuntu MATE 18.04 (Bionic Beaver)
Antworten |

hellmi666

Avatar von hellmi666

Anmeldungsdatum:
30. August 2007

Beiträge: 238

Wohnort: Zwickau

Hallo Leute,

ich benötige wieder einmal euer Schwarmwissen, weil ich im Internet nicht das für mich Richtige gefunden habe, obwohl das Problem schon sehr alt ist.

Wenn ich per Dateimanager (in meinem Fall caja) Dateien mit "?":" im Namen per Drag+Drop auf meinen Mp3-Player kopiere/verschiebe dann macht (ja wer nur?) aus diesen Sonderzeichen diese "_" (Tiefstriche/Unterstriche). Soweit, so gut.

Jetzt möchte ich aber dieses Kopieren/Verschieben per Skript ausführen. Kommt dieses an eine solche Stelle bekomme ich diese Fehlermeldung:

1
.... kann nicht angelegt werden: Das Argument ist ungültig

Muss ich jetzt vor dem Kopiervorgang erst per Skript die Sonderzeichen in Unterstriche verwandeln, oder kann das mv oder cp mit gewissen Parametern?

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13174

hellmi666 schrieb:

Muss ich jetzt vor dem Kopiervorgang erst per Skript die Sonderzeichen in Unterstriche verwandeln, oder kann das mv oder cp mit gewissen Parametern?

Tja, was sagen denn die Manpages?

dingsbums

Anmeldungsdatum:
13. November 2010

Beiträge: 3782

hellmi666

(Themenstarter)
Avatar von hellmi666

Anmeldungsdatum:
30. August 2007

Beiträge: 238

Wohnort: Zwickau

rklm schrieb: Tja, was sagen denn die Manpages?

Da werde ich eben nicht schlau, da gelernter DDR-Bürger und wenig bis keine Englischkenntnisse.

dingsbums schrieb: https://unix.stackexchange.com/questions/70785/rsyncing-files-with-special-characters-to-usb-fat32

Da werde ich eben nicht schlau, da gelernter DDR-Bürger und wenig bis keine Englischkenntnisse.

Solltest du aber dieses Skript

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#!/bin/bash
set -e
shopt -s dotglob globstar
cd ~/Music
for source in **/*; do
  target=/media/usb99/${source#"$HOME"/}
  target=${target//[:?]/_}
  if [[ -d $source ]]; then
    mkdir -p -- "$target"
  elif [[ $target -ot $source ]]; then
    cp -p -- "$source" "$target"
  fi
done

meinen, dann probiere ich es aus und berichte. Danke erst einmal für diese Info.

Trotzdem bleibt die Frage: Was macht das Drag&Drop was mv oder cp nicht machen?

Streifenschmerle

Avatar von Streifenschmerle

Anmeldungsdatum:
5. April 2006

Beiträge: 461

hellmi666 schrieb:

dingsbums schrieb: https://unix.stackexchange.com/questions/70785/rsyncing-files-with-special-characters-to-usb-fat32

Da werde ich eben nicht schlau, da gelernter DDR-Bürger und wenig bis keine Englischkenntnisse.

Ernstgemeinter Tipp: Automatische Übersetzungsservices wie https://translate.google.de/ oder https://www.deepl.com/ liefern mittlerweile erstaunlich gute und verständliche Übersetzungsergebnisse. Bei ersterem kannst Du auch direkt die URL der zu übersetzenden Webseite einfügen. Könnte mir vorstellen, daß das für Dich in solchen Fällen sehr hilfreich sein kann.

Trotzdem bleibt die Frage: Was macht das Drag&Drop was mv oder cp nicht machen?

Caja hat offenbar eine Heuristik implementiert, die erkennt, wenn das Zieldateisystem FAT32 oder NTFS ist und deshalb bestimmte Sonderzeichen in Dateinamen nicht unterstützt, und ersetzt diese Zeichen in solchen Fällen automatisch durch andere. Die Kommandozeilentools cp oder mv haben so einen komplexen Mechanismus nicht implementiert (dieses Verhalten kann zudem auch nicht immer erwünscht sein).

Viele Grüße, Jan

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13174

hellmi666 schrieb:

rklm schrieb: Tja, was sagen denn die Manpages?

Da werde ich eben nicht schlau, da gelernter DDR-Bürger und wenig bis keine Englischkenntnisse.

Also bei mir sind die Übersetzungsergebnisse der Seiten von Chromium recht brauchbar. Auch für Firefox gibt es Extensions, mit denen man eine ganze Seite übersetzen kann.

Trotzdem bleibt die Frage: Was macht das Drag&Drop was mv oder cp nicht machen?

Offensichtlich werden die Dateinamen so verändert, dass sie kompatibel mit dem Zieldateisystem sind.

hellmi666

(Themenstarter)
Avatar von hellmi666

Anmeldungsdatum:
30. August 2007

Beiträge: 238

Wohnort: Zwickau

KaiserClaudius schrieb:

Ernstgemeinter Tipp: Automatische Übersetzungsservices wie https://translate.google.de/ oder https://www.deepl.com/ liefern mittlerweile erstaunlich gute und verständliche Übersetzungsergebnisse.

rklm schrieb:

Also bei mir sind die Übersetzungsergebnisse der Seiten von Chromium recht brauchbar. Auch für Firefox gibt es Extensions, mit denen man eine ganze Seite übersetzen kann.

Danke für die Hinweise, da hätte ich eigentlich auch selber drauf kommen. 😊

rklm schrieb:

Offensichtlich werden die Dateinamen so verändert, dass sie kompatibel mit dem Zieldateisystem sind.

KaiserClaudius schrieb:

Caja hat offenbar eine Heuristik implementiert, die erkennt, wenn das Zieldateisystem FAT32 oder NTFS ist und deshalb bestimmte Sonderzeichen in Dateinamen nicht unterstützt, und ersetzt diese Zeichen in solchen Fällen automatisch durch andere. Die Kommandozeilentools cp oder mv haben so einen komplexen Mechanismus nicht implementiert.

Das war mir schon klar, die Frage war ja nach dem Wie.

dingsbums schrieb:

https://unix.stackexchange.com/questions/70785/rsyncing-files-with-special-characters-to-usb-fat32

Ich habe das Skript auf meine Bedürfnisse umgeschrieben und jetzt funktioniert es, so wie es soll. Also war die Antwort auf meinen ersten Post:

hellmi666 schrieb:

Muss ich jetzt vor dem Kopiervorgang erst per Skript die Sonderzeichen in Unterstriche verwandeln, oder kann das mv oder cp mit gewissen Parametern?

Man muss ein Skript anwenden.

Antworten |