joeknape
Goto Top

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?

Content-Key: 594835

Url: https://administrator.de/contentid/594835

Printed on: April 24, 2024 at 05:04 o'clock

Mitglied: 145033
145033 Aug 08, 2020 updated at 16:21:54 (UTC)
Goto Top
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
https://tldp.org/LDP/abs/html/string-manipulation.html
Member: JoeKnape
JoeKnape Aug 08, 2020 at 15:02:18 (UTC)
Goto Top
danke für deine hilfe.. aber es geht leider nicht...
Mitglied: 145033
145033 Aug 08, 2020 updated at 15:56:32 (UTC)
Goto Top
Zitat von @JoeKnape:

danke für deine hilfe.. aber es geht leider nicht...
Funktioniert hier einwandfrei, getestet.

Fehlermeldung willst du für dich behalten??
Member: JoeKnape
JoeKnape Aug 08, 2020 at 16:10:51 (UTC)
Goto Top
ich bin da ein recht blutiger anfänger und suche schon seit stunden nach einer lösung. ich habe ein synology NAS, kann dort scripte als datei.sh in einem verzeichnis ablegen und per aufgabenplaner ausführen lassen.
bash /volume1/photo/dateien.sh

fehlermeldungen werden offensichtlich irgendwo verschluckt...
hab aber mit echo $meldung>/dev/console >>/volume1/photo/test.log die möglichkeit, etwas in eine logdatei umzuleiten..

müssen basename und file durch irgendwas ersetzt werden?
ich weiss, du wirst lachen.. aber ich finde es nicht mehr so komisch, wenn man sich mit dem kram nicht auskennt
Member: JoeKnape
JoeKnape Aug 08, 2020 at 16:16:29 (UTC)
Goto Top
mein script sieht jetzt so aus:

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 "VID-*.mp4" -print0 | while IFS= read -d '' file ;do  
    name="$(basename $file)"  
    mv "$file" "/volume1/video/Neu_hochgeladen/${name:4}"  
done

was ich nicht verstehe.. in den ersten drei befehlszeilen wird nur ein semikolon verwendet und keine gänsefüßchen.. '20*.jpg'
hat das alles damit was zu tun?
Mitglied: 145033
145033 Aug 08, 2020 updated at 16:25:12 (UTC)
Goto Top
> 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.
Mitglied: 145033
145033 Aug 08, 2020 at 16:30:44 (UTC)
Goto Top
Member: it-frosch
it-frosch Aug 09, 2020 at 19:40:13 (UTC)
Goto Top
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. face-wink
Ich würde da schon zuvor verstehen wollen, was genau passiert. face-wink

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. face-wink