Problem beim Massenumbenennen von Dateien in einem Pfad.Massenumbenennung von zufällig benannten Dateien, ohne deren Pfad zu kennen
Hier ist mein Problem: Ich habe ein Laufwerk voller rund 16000 oder mehr Dateien (alle Bilder, aber möglicherweise .psd, .jpg, .ai, .png, etc) verstreut in einer sehr chaotischen Art und Weise, aber die Dateinamen sind glücklicherweise alle einzigartig, aber aufgrund der Menge, kann ich nicht sagen, dass das sicher ist (ich meine, es könnte 2 Dateien namens abc.ai oder das Äquivalent, aber nicht viele). Ich kann den Pfad nicht kennen, da der bereitgestellte csv nur die ursprünglichen Dateinamen enthält und in die sie umbenannt werden sollten.
Grundsätzlich ist die erste Zeile in der CSV ist so etwas wie:
qwerty.jpg, asdfg.jpg
oder
123-asd_qwe.ai, abcfgd. ai.
Ich habe mehrere Lösungen, die ich gefunden habe, versucht; sed, einige Skripte, alles, was ich ausprobieren konnte, tat ich wirklich.
Ich würde wirklich gerne Vorschläge oder Ideen oder sogar eine Lösung zu hören!
Zu beachten: i ::
sed 's/"//g' names.csv | while IFS=, read orig new; do echo mv "$orig" "$new"; done
und
sed 's/^/mv -i -v "/;s/, /" "/;s/$/";/' < names.csv | bash -
und
#!/bin/bash
while read line
do
OldImageName=${line%,*}
NewImageName=${line#*,}
mv "$OldImageName" "$NewImageName"
done <"names.csv"
Warum ersetzen Sie alle doppelten Anführungszeichen durch nichts im sed-Befehl? Ich kann keine Anführungszeichen in der Datei sehen. – 123
Ich habe es versucht. Nur für den Fall, dass die gigantische CSV-Datei solche haben würde. – frosty