- in 1 bestand
- in een reeks bestanden in 1 map
- in een reeks bestanden in een reeks mappen.
Er wordt gebruik gemaakt van het sed commando. In een terminal kun je de man page opvragen met man sed om alle ins en outs van sed te zien.
Het eerste script vervangt de tekst in 1 bestand.
Het bestand heet replace-text-in-file.sh en dit staat er in:
Code: Selecteer alles
#!/bin/bash
# replace text in files
#sed -i 's/source text/target text/g' "$InputFile"
# voor uitleg in terminal: man sed
# gebruik \n in sed om een nieuwe regel in te voegen
# speciale tekens escapen met \
# opdracht over meer regels uitspreiden met \
#------------------------------------------------------------------------------------------------------------------------------------------
InputFile='/home/popeye/Documenten/texten/text map 1/text bestand.txt'
#------------------------------------------------------------------------------------------------------------------------------------------
# functie om tekst te vervangen in 1 bestand
ReplaceText () {
echo $InputFile
sed -i 's/source text/target text/g' "$InputFile"
}
#------------------------------------------------------------------------------------------------------------------------------------------
# begin verwerking
#------------------------------------------------------------------------------------------------------------------------------------------
echo .
echo .
echo .
echo .
echo "Replace text in:"
echo .
#------------------------------------------------------------------------------------------------------------------------------------------
# een enkel bestand
ReplaceText
#------------------------------------------------------------------------------------------------------------------------------------------
echo .
echo .
echo klaar
#------------------------------------------------------------------------------------------------------------------------------------------
# einde verwerking
#------------------------------------------------------------------------------------------------------------------------------------------
Dit bestand moet uitvoerbaar worden gemaakt voor je het kan gebruiken.
Bij InputFile moet je het bestand invullen dat je wil veranderen.
In de functie ReplaceText moet je bij sed de zoektekst en de verangende tekst invullen.
Speciale tekens moeten speciaal worden behandeld. Aan het begin van het script staat ter herinnering aangegeven dat je die moet escapen met het backslash teken (\).
Laat het script uitvoeren in een terminal zodat je de uitvoer kan zien.