Sikkepitje.nl

Sikkepitje.nl

this private cloud

Bash command line tips

Hernoem een map bestanden op de prompt

Ik heb bijvoorbeeld een rijtje bestanden

paul@gaia:~/Downloads/Lakedistrict2011/zondag$ ls
backup          Zondag7645.JPG  Zondag7686.JPG  Zondag7700.JPG
Zondag7642.JPG  Zondag7666.JPG  Zondag7691.JPG  Zondag7714.JPG
Zondag7644.JPG  Zondag7668.JPG  Zondag7694.JPG

Ik wil overal de Zondag7* hernoemen in 00Zondag*

 for i in 200[0-9]-[0-9][0-9]-[0-9][0-9]; do newname=`echo $i|sed 's/Zondag7/00Zondag/g'`; mv $i $newname; done

Oplossing 2:

Het commando rename gebruikt regular expressions om bestanden ter hernoemen.

Om alle streepjes te veranderen in punten:

 rename "s/\-/\./g" *

Om alleen te testen (parameter --no-action):

 rename -n "s/\-/\./g" *

Oplossing 3:

 for file in /path/to/*; do echo mv "$file" "${file/abc-two_/}"; done

Als dit werkt, verwijder de 'echo' en voer het uit.