Mmv: verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
Regel 49: Regel 49:
 
</pre>
 
</pre>
  
== Variabelen + spaties ==
+
== Variabelen ==
 +
 
 +
Je kunt variabelen gebruiken. Als je die tussen dubbele aanhalingstekens zet, worden eventuele spaties ook nog 's goed verwerkt:
 +
 
 +
<pre>
 +
in1="CD 2"
 +
uit1="CD 3"
 +
 
 +
mmv \*"$in1"\* \#1"$uit1"\#2
 +
</pre>
 +
 
 +
== Hapklare brokken ==
 +
 
 +
Ik heb sterk de indruk dat het 't handigste is om niet alles in één commando te proppen, want te ingewikkeld. Bv.:
 +
 
 +
<pre>
 +
# 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
 +
</pre>
  
 
== Bronnen ==
 
== Bronnen ==

Versie van 22 aug 2017 14:26

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