Bewerkingen op grote hoeveelheden bestanden

Voorbeeld

Alle .TEX bestanden hernoemen in .tex
for i in *.tex ; do base=`basename $i .TEX`; mv $base.TEX $base.tex; done
Alle .BMP's omzetten naar png
for i in *.tex ; do base=`basename $i .BMP`; convert $base.BMP $base.png; done

Uitleg

Voor wie de theorie achter de praktijk wil weten: met
for i in *.tex ; echo $i; done
zien we dat met for de variabele $i als waarde achtereenvolgens de namen van alle .tex bestanden krijgt. Met
basename blabla.TEX .TEX
knippen we de .TEX extensie van een naam af: het resultaat is blabla. Met
base=`basename blabla.TEX .TEX`
stoppen we de uitvoer van basename blabla.TEX .TEX in de variabele $base, die we dan verder in commando's als move en convert kunnen gebruiken.
Wie experimenteert met dit soort constructies doet er misschien verstandig aan eerst met
for i in *.tex ; do base=`basename $i .TEX`; echo mv $base.TEX $base.tex; done
een ``preview'' te krijgen van welke commando's er zullen uitgevoerd worden en dan later de echo te verwijderen als de getoonde uitvoer overeenstemt met wat je wil dat er gebeurt.