sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #102420
Re: Omdøbning af mange filer
On 27 Jun 2012 at 20:50, Jens Bang wrote:
> Jeg har en stor mængde filer i et directorytræ, som skal flyttes fra
> ext3 til vfat. I den forbindelse skal jeg have fjernet en række tegn
> fra fil-og directorynavne, som er lovlige under ext3, men ulovlige
> under vfat. Hvordan gør jeg det nemt? Helst i bash.
>
> Jeg har luret at jeg nok skal bruge en kommando i stil med
>
> for i in `find . -name '*'`
Jeg bruger en lille ting, strikket sammen via:
for i in * ; do j=`echo $i | sed 's#searchstring#replacestring#g' - ` ; mv "$i" "$j" ; done
Har dette i en .sh:
for i in * ; do j=`echo $i | sed "s#$1#$2#g" - ` ; mv "$i" "$j" ; done
Kaldes med "script.sh .JPG .jpg"
Jeg bruger den til at rename f.eks. filer fra et kamera fra .JPG til
.jpg (nødvendig når 2 filer skal linkes på en apache, og har været
igennem gimp...)
Den tager vist ikke mapper, og vist ikke recursive.
Har ikke prøvet :-)
/Danjel
>
> Ja, jeg vil finde både filer og directories.
>
> Men hvordan hulen erstatter jeg et tegn med et andet, når der er tale
> om et ud af en liste af tegn der skal ændres til _?
>
> Helt specifikt er der tale disse tegn: " < > ? * : "
>
> Og hver forekomst af dem skal ændres til _
>
> Og det er vigtigt at huske at der helt sikkert er mellemrum i både
> fil- og directorynavne, så der skal nok plinger eller noget uden om
> hvert fil- og directorynavn.
>
> -- Jens
>
>
>
Follow ups
References