Indien we spreken over grafische bestanden, dan is convert, van ImageMagick, de tool die je nodig hebt. Om bijvoorbeeld een ganse directorie aan jpg’s te converteren naar eps’s doe je het volgende in die directorie:
~$ for file in *.jpg; do convert "$file" "${file%.jpg}.eps"; done
Met de ’for’-lus wordt aan de variabele file telkens en bestandsnaam toegekend. Die gebruik je dan op de plaats van de bestandsnaam in het commando dat je wil uitvoeren.
De "{file%.jpg}.eps" is een bash-feature die je in de manpage van bash
vindt. ${file%.jpg} zal de bestandsextensie ’.jpg’ verwijderen. Daarna
voeg je er ’.eps’ aan toe. Zo weet convert naar welk beeldformaat het moet
converteren.
Indien je met subdirectories wil rekening houden is het volgende misschien meer aangeraden:
find -name '*.jpg' | while read file; do convert "$file" "${file%.jpg}.eps"; done
Het find-commando genereert een lijst met de gewenste bestandsnamen (een
naam per regel) die het dan doorgeeft (|) aan het while-commando. Die
leest lijn per lijn (en dus naam per naam) in en past het commando toe.
Indien we over geluidsbestanden spreken, dan is sox een leuke keuze, alhoewel die niet alle bestandstypes aankan. Om specifiek naar mp3 of ogg te encoderen is het misschien interessanter om lame respectievelijk oggenc te gebruiken. Deze tools zijn nl gemaakt om zo zuiver mogelijke geluidsbestanden te creeren.
Voor videobestanden kan je convert gebruiken of transcode. Deze laatste ondersteunt alle MPEG-formaten, DivX en QuickTime.