Zoeken en vervangen van tekst in meerdere bestanden

Het zoeken en vervangen van teksten in een tekst bestand is vervelend werk en zeker als dezelfde zoek- en vervanghandelingen in meerdere bestanden moeten worden uitgevoerd. Daarbij komt ook nog dat veel zoek en vervang mogelijkheden van editors slechts over maximaal 1 regel gaan. Onlangs stond ik voor het hierboven beschreven probleem. Er waren zo rond de 75 bestanden waar een aantal zoek en vervang operaties op moesten worden uitgevoerd. Bij een aantal van deze bestanden moesten extra zoek en vervang handelingen verricht worden. Er waren voor mij toen twee opties:

  1. alles met de hand afgaan en handmatig zoeken en vervangen;
  2. de zoek- en vervanghandelingen automatiseren d.m.v. een python script;

De eerste optie leek mij te tijdrovend en weinig structureel. De tweede optie zou mij in eerste instantie meer tijd gaan kosten, hoewel als ik het goed zou opzetten, dat dit een structurele optie zou zijn.

Het script was relatief eenvoudig te maken en kostte me minder tijd dan ik verwacht had. Het voordeel was wel dat de bestanden waar teksten in vervangen moesten worden dezelfde opbouw hadden en ook was de te vervangen tekst telkens precies gelijk. Het hele zoek- en vervangproces duurde nog geen 20 seconden. Het scripten was circa 20 minuten werk en het steekproefgewijs controleren van enkele bestanden duurde nogeens 5 minuten. Er moesten 8 teksten worden vervangen waarvan een aantal teksten over meerdere regels gezocht en vervangen moesten worden. Kortom in minder dan 30 minuten 75 bestanden behandeld.

Maar er is meer...

Voor u heb ik nog meer tijdwinst in petto. U hoeft geen script meer te maken, u kunt gebruik maken van de MGET Batch Replacer. Het eerdere genoemde script is uitgebreid met een grafische user interface (GUI) en de mogelijkheid om te filteren op bestandsextensie. Bijvoorbeeld u wilt alleen teksten in HTML bestanden gaan zoeken en vervangen. U geeft dan bij File extension filter veld de volgende *.html bestandsextensie filter op. Dit hoeft u alleen te doen als u een map opgeeft om alle bestanden in de opgegeven map wilt betrekken in u zoek en vervang opdracht. Indien u alleen een bestand op heeft gegeven, dan wordt de bestandsextensie filtering genegeerd. Daarnaast kunt ook de volgorde van de zoek- en vervang acties aanpassen. Op deze manier kunt u een batch van vervang opdrachten samenstellen. Van elk bestand wordt een backup gemaakt, voordat het bestand wordt aangepast. U kunt backup bestanden herkennen aan de .bak bestandsextensie. Als laatste aanvulling is er de mogelijkheid om uw zoek- en vervangacties op te slaan. Op deze manier kunt u altijd uw voorgaande zoek- en vervangopdrachten gebruiken.

Tijd voor een demo

De volgende flash demo geeft eenvoudig weer wat de het programma kan.

Wat te doen?

Download de MGET Batch Replacer (md5 hash: 9B85CB06A104A19D5FF3DA2E494F4587) en installeer deze op uw computer. Vervolgens kunt u aan de slag. Bekijk eventueel de bovenstaande demo.

Aandachtspunten

  • Let op dat dit programma geen enkele garantie biedt;
  • Zorg altijd dat u op een kopie van de bestanden aan het werk bent;
  • Controleer altijd het resultaat;
  • Let op dat in de zoek en vervang acties volgorde een eerdere vervangactie te niet kan worden gedaan door een volgorde.