Mmv
Commando mmv
(afkorting van mass move) is verrekte handig voor bulk-aanpassen van bestandsnamen.
De basis
mmv \*.JPG \#1.jpg # Hernoem *.JPG → *.jpg # mmv *.JPG #1.jpg # Werkt niet: Je moet de * en #1 escapen! # mmv \*.JPG \#.jpg # Werkt niet: Je moet een volgnummer geven na #, ook als er maar één wildcard wordt gebruikt
Iets interessanter
mmv \*Logo\* \#1logo\#2 # Hernoem alle bestanden waar de reeks 'Logo' in voorkomt naar 'logo'
mmv \*-\*-\* \#1.\#2-\#3 # Hernoem bestanden waar twee streepjes in voorkomen. Vervang eerste streepje in een punt
Spaties in bestandsnamen
Spaties kun je escapen met '\ ', dus backslash-spatie. Je kunt ook aanhalingstekens gebruiken:
mmv naam\ .jpg naam.jpg # Spatie in from-gedeelte mmv naam.jpg naam\ .jpg # Spatie in to-gedeelte.
mmv naam.jpg "Dit is de naam.jpg" # Spatie in to-gedeelte
mmv \*.flac "Fairport Convention - Liege & Lief -"\#1 # Hehe, eindelijk gelukt!
Strings tussen dubbele aanhalingstekens
Dit is wél handig ivm. escapen van spaties. Bv.:
mmv \*" - REM.flac" \#1.flac mmv \*"CD 1"\* \#1"CD 2"\#2
Indentation
Je kunt indentation gebruiken om het leesbaarder te maken. Het karakter om een commando te laten continueren op de volgende regel, is "\" en da's weer niet handig. Voorbeeld:
mmv \ \*"CD 1"\* \ \#1"CD 2"\#2
of
mmv \ \*"CD 1"\* \ \#1"CD 2"\#2
Variabelen
Je kunt variabelen gebruiken. Als je die tussen dubbele aanhalingstekens zet, worden eventuele spaties ook nog 's goed verwerkt:
in1="CD 2" uit1="CD 3" mmv \*"$in1"\* \#1"$uit1"\#2
Hapklare brokken
Ik heb sterk de indruk dat het 't handigste is om niet alles in één commando te proppen, want te ingewikkeld. Bv.:
# Eerst dit aanpassen ##################### # # s1=" - R.E.M..flac" # s2=".flac" # mmv \*"$s1" \#1$s2 # En daarna pas dit ################### # s1=". " s2="REM - Live at the Olympia - CD 2 - " mmv \*"$s1"\* \ "$s2"\#1" - "\#2
Bronnen
- http://linux.maruhn.com/sec/mmv.html - Officiële homepage. Niet erg nuttig
- http://www.tldp.org/LDP/GNU-Linux-Tools-Summary/html/mass-rename.html
- http://www.guckes.net/mmv/ - Niet erg accuraat. Oa. wildcards worden niet escaped, terwijl dat echt moet