Gebruik Sed om een string te vervangen in een tekst op linux

Hoe vervang ik een string met een andere string in alle tekst bestanden in een map onder Linux?
Bijvoorbeeld; De ~/foo directory heeft 100 tekstbestanden en ik zou graag alle xyz strings willen vervangen door abc.
Dit kan met het commando sed. Dit staat voor stream editor.  Dit commando is ontworpen om woorden reeksen te zoeken en deze te vervangen.

De Syntax is het volgende:
sed -i 's/old-word/new-word/g' *.txt

Waarbij -i staat voor In place. Dit betekend dat er in bestanden wordt gezocht, in plaats van dat een bestand via een pipe in sed wordt geladen.

Tussen de /en / staat een regexp. De regexp om woorden te vervangen is vrij eenvoudig.

GNU sed command can edit files in place (makes backup if extension supplied) using the -i option. If you are using an old UNIX sed command version try the following syntax:

sed 's/old/new/g' input.txt > output.txt

Laat een reactie achter

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *