On Thursday, April 14, 2005 12:17 AM, Christian Boltz wrote:
Hallo Daniel, hallo Leute,
Am Mittwoch, 13. April 2005 09:24 schrieb Daniel Bauer: [kranke Dateinamen]
leider sehr krank
Einige der Dateien enthalten ein ? bzw. * (kommt von OSX). Wenn ich nun versuche die Datei "Hallo?das ist ein Text" umzubennen, kann ich das von der Kommandozeile mit
mv "Hallo"?"das ist ein Text" "Hallo das ist ein Text"
Damit benennst Du die Datei "Hallo<beliebiges Zeichen>das ist ein Text" um.
Bist Du sicher, dass da wirklich ein Fragezeichen im Dateinamen steht? Guck Dir mal ein Verzeichnislisting mit ls -b an.
Der betreffende Teil wird mir mit ls -b so angezeigt: \ I:2002
machen, im Script funktioniert das leider nicht mehr (den Namen habe ich durch sed aufbereitet), er sagt es gibt eine solche Datei nicht, es sieht so aus als würde er das ? als echten Text interpretieren.
Kommt auf das Script an
nun ich suche mit find alle Dateien und übergebe sie an dieses Script [...] alt=$(echo "$1" | sed -e 's/[*?:]/\\?g' | sed -e 's /\\ /g') neu=$(echo "$1" | cut -b 3-2048 | sed -e 's/[^a-zA-Z0-9.\/_-]//g') if ! mv "$alt" "/remount/hdd2/$neu" then echo "$1" >> /script/f-fehler.txt fi [...]
Kann mir jemand sagen wo hier der Unterschied zwischen der Kommandozeile und dem Script ist?
Scheinbar hast Du das Script anders programmiert als das, was Du in der Kommandozeile eingibst. Ohne Kenntnis des Scripts lässt sich dazu aber nix sagen.
s.o. Danke Daniel