← Back to team overview

sslug-teknik team mailing list archive

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