Erstellen von Ordnern anhand von Dateinamen

Erstellen von Ordnern anhand von Dateinamen

Ich versuche, einen Weg zu finden, für jede Datei in einem Verzeichnis einen Ordner zu erstellen. Anschließend möchte ich jede Datei in den erstellten Ordner kopieren. Diese Dateien werden derzeit auf AWS (S3) gehostet.

Wenn ich beispielsweise drei Dateien habe, a.jpg, b.jpg und c.jpg, möchte ich drei Ordner erstellen, a, b und c. Und dann a.jpg in einen Ordner kopieren, b.jpg in den Ordner b und c.jpg in den Ordner c. Ich habe viele Dateien, also scheint es keine gute Option zu sein, es manuell zu machen.

Hat jemand eine Idee, ob das möglich ist?

Antwort1

In bashwürden Sie dies tun

for f in *.jpg; do g="${f%.jpg}"; mkdir "$g"; cp "$f" "$g/$f"; done

verwandte Informationen