Follow

Hey Freunde

Gibt es eine Möglichkeit, zu bestimmten Dateien in einem Ordner automatisch einen eigenen Ordner erstellen zu lassen?

Also so, dass zum Beispiel alle .mp3 in einem Ordner ausgewählt und für jede Datei ein eigener Ordner erstellt wird? mv ist nicht nötig. Mir genügt es, wenn die Ordner erstellt werden.

Beispiel:

1.txt
1.mp3
1.xml
2.txt
2.mp3
2.xml
3.txt
3.mp3
3.xml

Jetzt soll das Terminal alle .mp3 finden und dann folgende Ordner dazu erstellen:

1
2
3

Da es einige Vorschläge mir hilfreichen Lösungen waren, möchte ich mich einfach mal mit diesem Sammel-Toot hier bei allen bedanken :)

@koetpi @comrad @nocci @diesch @wuffel

@stardenver Also du könntest alle Dateien durchgehen, und ihren Dateinamen immer stumpf als Verzeichnis anlegen lassen mit mkdir -p.

Über das Verzeichnis mit ls -ls iterieren, dann mit

filename=$(basename -- "$fullfile")
extension="${filename##*.}"
filename="${filename%.*}"

Den Dateinamen als "filename" extrahieren und diesen mit mkdir -p anlegen lassen.

Dirty, aber get's the job done ;)

@stardenver
for song in *mp3; do echo "${song/\.mp3/}" ; done

@wuffel @stardenver

... oder eventuell ein kleines Script?

# /bin/sh
set -o errexit -o nounset
cd /home/stardenver/Musik
for file in *.mp3
do
dir="${file%.mp3}"
mkdir -- "$dir"
mv -- "$file" "$dir"
done

Das wäre jetzt mit dem Verschieben der mp3s.

Ohne Gewähr und im Halbschlaf... am besten mal ein paar Dateien in einen Ordner kopieren und dann testen bevor Du die Sammlung kaputt machst .

@wuffel @stardenver Ach, wenns NUR die mp3-s sein sollen, dann kann man mit basename -s .mp3 auch den Dateinamen erhalten.

@stardenver
for name in *.mp3; do
mkdir -- "$(basename -- "$name" .mp3)"
done
Sign in to participate in the conversation
Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!