Ich möchte dieses Thema noch einmal aufwecken...
Das Script funktioniert sehr gut und erledigt seine Arbeit schon prima. Da meine Bedürfnisse aber gewachsen sind und nun viele Verzeichnisse zu bearbeiten sind, hätte ich folgende Frage zu diesem Script.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 | #! /bin/bash
#
# Logging aktivieren
#
log=log_file.txt
# Erst die Bezeichnungen und fehlerhaften Zeichen aus Dateiname entfernen/ersetzen
#
#/usr/bin/videos-sortieren_test_and_copy.sh;
/usr/bin/videos-rename.sh ;
# Verzeichnisse erstellen
#
shopt -s nocaseglob
[ $# -gt 0 ] || set -e -- 'bezeichnung 1' 'bezeichnung 2' 'bezeichnung 3' 'bezeichnung 4' bezeichnung5 bezeichnung6 bezeichnung7 bezeichnung8
for operand; do
mkdir -p "$operand"
for file in *; do
if echo -n "$file" | egrep -iq '.*\<'"${operand}"'\>'; then
[ -f "$file" ] && mv "$file" "$operand"
fi
done
done
find . -type d -empty -delete;
# Nachricht auf Desktop ausgeben
#
gmessage -nearmouse -geometry 500x100 -fg red -timeout 20 -name 'Videos verschieben' "Umbenennen und verschieben der Videos erledigt!"
|
Der Ablauf ist folgender:
Nicht passende Dateinamen umgenennen (seperates script)
Verzeichnisse nach Vorgabe erstellen
Dateien identifizieren und in Verzeichnisse verschieben
Leere Verzeichnisse löschen
Da nun sehr viele Verzeichnisse unnötig erstellt werden, die ich am Ende wieder löschen lasse, wäre es doch sinnvoll, wenn das Verzeichnis erst dann erstellt wird, wenn eine Datei mit der entsprechenden Variable vorhanden ist.
Ich habe mich selbst versucht und bin richtig gescheitert! Hmm. Ich bekomme das script so wie ich möchte nicht hergestellt...
Habt Ihr eine Idee wie ich das sinnvoll realiesieren kann oder soll?
Besten Dank und Gruß!