Dateinamen vorne abschneiden
wer kann mir helfen..
ich habe auf einem synology NAS ein script, was mir alle möglichen dateitypen in einem verzeichnis rausfischt und in andere verzeichnisse packt.
find /volume1/photo/_upload/ -type f -name '20*.jpg' -exec mv -i {} /volume1/photo/_Neu_hochgeladen/ \;
find /volume1/photo/_upload/ -type f -name '*FB_*.jpg' -exec mv -i {} /volume1/photo/facebook/ \;
find /volume1/photo/_upload/ -type f -name '*.jpg' -exec mv -i {} /volume1/photo/_Neu_hochgeladen/ \;
find /volume1/photo/_upload/ -type f -name '*.mp4' -exec mv -i {} /volume1/video/_Neu_hochgeladen/ \;
nun möchte ich aber gerne irgendwie mit einbauen, daß mir von dateien (beispiel: VID-20200808-WA0005.mp4) vorne die ersten vier zeichen abgeschnitten werden, bevor die datei verschoben wird..
der befehl muss aber alle dateien ändern, die eben mit VID-*.mp4 beginnen..
geht sowas überhaupt?
ich habe auf einem synology NAS ein script, was mir alle möglichen dateitypen in einem verzeichnis rausfischt und in andere verzeichnisse packt.
find /volume1/photo/_upload/ -type f -name '20*.jpg' -exec mv -i {} /volume1/photo/_Neu_hochgeladen/ \;
find /volume1/photo/_upload/ -type f -name '*FB_*.jpg' -exec mv -i {} /volume1/photo/facebook/ \;
find /volume1/photo/_upload/ -type f -name '*.jpg' -exec mv -i {} /volume1/photo/_Neu_hochgeladen/ \;
find /volume1/photo/_upload/ -type f -name '*.mp4' -exec mv -i {} /volume1/video/_Neu_hochgeladen/ \;
nun möchte ich aber gerne irgendwie mit einbauen, daß mir von dateien (beispiel: VID-20200808-WA0005.mp4) vorne die ersten vier zeichen abgeschnitten werden, bevor die datei verschoben wird..
der befehl muss aber alle dateien ändern, die eben mit VID-*.mp4 beginnen..
geht sowas überhaupt?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 594835
Url: https://administrator.de/forum/dateinamen-vorne-abschneiden-594835.html
Ausgedruckt am: 30.04.2025 um 12:04 Uhr
8 Kommentare
Neuester Kommentar

find /von/wo/auch/immer -type f -name 'VID-*.mp4' -print0 | while IFS= read -d '' file ;do
name="$(basename $file)"
mv "$file" "/wo/anders/hin/${name:4}"
done

Funktioniert hier einwandfrei, getestet.
Fehlermeldung willst du für dich behalten??
Fehlermeldung willst du für dich behalten??

> hat das alles damit was zu tun?
In dem Fall nicht, aber Log dich einfach per SSH auf der Kiste ein und führe es aus dann siehst du was Sache ist ...aber ich finde es nicht mehr so komisch, wenn man sich mit dem kram nicht auskennt
Das lässt sich ja ändern, auf die Hinterbeine stellen kannst aber nur du selbst.
Siehe auch die Demo
https://tio.run/##XY6xasMwFEV3fcVFMbgNSEnBXRq8hYKnDindleg5FrUkI6kpIc23u5 ...
https://tio.run/##XY6xasMwFEV3fcVFMbgNSEnBXRq8hYKnDindleg5FrUkI6kpIc23u5 ...
Hallo JoeKnape,
du hast zwei Möglichkeiten.
Das ganze manuell zu machen oder aber dich in die Lösung von kleiber reinzuarbeiten.
D.h. sie zu verstehen.
Du kannst das Skript auch einfach ausführen aber das sind deine Daten.
Ich würde da schon zuvor verstehen wollen, was genau passiert.
Auf der Testplattform, die er dir unten verlinkt hat, kannst du üben bis du alles verstehst.
Die kannte ich auch noch nicht. Super Sache!
Grüße vom it-frosch
PS: und jetzt Kopf anstrengen, es lohnt sich.
du hast zwei Möglichkeiten.
Das ganze manuell zu machen oder aber dich in die Lösung von kleiber reinzuarbeiten.
D.h. sie zu verstehen.
Du kannst das Skript auch einfach ausführen aber das sind deine Daten.
Ich würde da schon zuvor verstehen wollen, was genau passiert.
Auf der Testplattform, die er dir unten verlinkt hat, kannst du üben bis du alles verstehst.
Die kannte ich auch noch nicht. Super Sache!
Grüße vom it-frosch
PS: und jetzt Kopf anstrengen, es lohnt sich.