[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Umbennen von Dateien per Skript schlägt fehl



Am Mittwoch, den 22.03.2017, 19:46 +0100 schrieb Klaus Becker:
> n'Abend,
> 
> ich habe viele Dateien umzubennen wie:
> 
> $ls 
> 23–apportscalciques.mp4  42–magnesium.mp4  45–complementsalimentaires.mp4  47–
> antioxydants.mp4
> 
> und möchte die Zahlen und den Bindestrich am Anfang der Dateinamen löschen, 
> also z. B. statt "42–magnesium.mp4" "magnesium.mp4" haben.
> 
> Versucht habe ich es z. B. mit:
> 
> ----------
> for file in $(find -name "*.mp4"); do
>    mv $file $(echo $file | sed s/.*-//)
> done
> ----------
> 
> Bei anderen Dateinamen klappte das, aber hier bekomme ich eine Meldung der Art
> "mv: './42–magnesium.mp4' and './42–magnesium.mp4' are the same file".
> 
> Ich sehe nicht, wo der Fehler liegt. Ich habe es auch mit x anderen Versionen 
> des Skripts versucht, auch mit "find ... -exec" und "find ... xargs", aber 
> nichts klappt, ich brech' mir da einen Ast ab.
> 
> Auch
> ----------
> for file in $(find -name "*.mp4"); do
>        mv $file $(echo $file | sed s/[0-9]*-//)
> oder   mv $file $(echo $file | sed s/[[:digit:]]*-//)
> done
> ----------
> ergibt  die gleiche Meldung.

Versuchs mal mit:

#!/bin/bash

for FILE in $(find -name "*.mp4") ; do
    OLD_NAME="${FILE##*/}"
    NEW_NAME="${OLD_NAME#[[:digit:]][[:digit:]]-}"
    mv "${FILE}" "${FILE%/*}/${NEW_NAME}"
done


-- 
mfG Sascha
GPG key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x92BBDD596C5FDC0F
GPG fingerprint: 5A68 F665 44E6 0E50 001C 75A6 92BB DD59 6C5F DC0F

~~~
Sorgen sind wie Babys: Je mehr man sie hätschelt, desto besser
gedeihen sie.
		-- Helmut Qualtinger

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: